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

Represents an Analyzer in a database.Database.

+

Accessors

Methods

Accessors

  • get name(): string
  • Name of this Analyzer.

    +

    See also database.Database.

    +

    Returns string

Methods

  • Deletes the Analyzer from the database.

    +

    Parameters

    • force: boolean = false

      Whether the Analyzer should still be deleted even if it +is currently in use.

      +

    Returns Promise<ArangoApiResponse<{
        name: string;
    }>>

    Example

    const db = new Database();
    const analyzer = db.analyzer("some-analyzer");
    await analyzer.drop();
    // the Analyzer "some-analyzer" no longer exists +
    +
  • Checks whether the Analyzer exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const analyzer = db.analyzer("some-analyzer");
    const result = await analyzer.exists();
    // result indicates whether the Analyzer exists +
    +
  • Retrieves the Analyzer definition for the Analyzer.

    +

    Returns Promise<ArangoApiResponse<AnalyzerDescription>>

    Example

    const db = new Database();
    const analyzer = db.analyzer("some-analyzer");
    const definition = await analyzer.get();
    // definition contains the Analyzer definition +
    +
\ No newline at end of file diff --git a/9.1.0/classes/cursor.ArrayCursor.html b/9.1.0/classes/cursor.ArrayCursor.html new file mode 100644 index 00000000..f8e1aa8c --- /dev/null +++ b/9.1.0/classes/cursor.ArrayCursor.html @@ -0,0 +1,130 @@ +ArrayCursor | arangojs - v9.1.0

Class ArrayCursor<T>

The ArrayCursor type represents a cursor returned from a +database.Database#query.

+

When using TypeScript, cursors can be cast to a specific item type in order +to increase type safety.

+

See also BatchedArrayCursor.

+

Example

const db = new Database();
const query = aql`FOR x IN 1..5 RETURN x`;
const result = await db.query(query) as ArrayCursor<number>; +
+

Example

const db = new Database();
const query = aql`FOR x IN 1..10 RETURN x`;
const cursor = await db.query(query);
for await (const value of cursor) {
// Process each value asynchronously
await processValue(value);
} +
+

Type Parameters

  • T = any

    Type to use for each item. Defaults to any.

    +

Accessors

  • get count(): undefined | number
  • Total number of documents in the query result. Only available if the +count option was used.

    +

    Returns undefined | number

  • get hasNext(): boolean
  • Whether the cursor has more values. If set to false, the cursor has +already been depleted and contains no more items.

    +

    Returns boolean

Methods

  • Enables use with for await to deplete the cursor by asynchronously +yielding every value in the cursor's remaining result set.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    Returns AsyncGenerator<T, undefined, undefined>

    Example

    const cursor = await db.query(aql`
    FOR user IN users
    FILTER user.isActive
    RETURN user
    `);
    for await (const user of cursor) {
    console.log(user.email, user.isAdmin);
    } +
    +
  • Depletes the cursor, then returns an array containing all values in the +cursor's remaining result list.

    +

    Returns Promise<T[]>

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.all(); // [1, 2, 3, 4, 5]
    console.log(cursor.hasNext); // false +
    +
  • Depletes the cursor by applying the callback function to each item in +the cursor's remaining result list. Returns an array containing the +return values of callback for each item, flattened to a depth of 1.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.flatMap.

    +

    Type Parameters

    • R

      Return type of the callback function.

      +

    Parameters

    • callback: ((currentValue, index, self) => R | R[])

      Function to execute on each element.

      +
        • (currentValue, index, self): R | R[]
        • Parameters

          • currentValue: T
          • index: number
          • self: this

          Returns R | R[]

    Returns Promise<R[]>

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const squares = await cursor.flatMap((currentValue) => {
    return [currentValue, currentValue ** 2];
    });
    console.log(squares); // [1, 1, 2, 4, 3, 9, 4, 16, 5, 25]
    console.log(cursor.hasNext); // false +
    +

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const odds = await cursor.flatMap((currentValue) => {
    if (currentValue % 2 === 0) {
    return []; // empty array flattens into nothing
    }
    return currentValue; // or [currentValue]
    });
    console.logs(odds); // [1, 3, 5] +
    +
  • Advances the cursor by applying the callback function to each item in +the cursor's remaining result list until the cursor is depleted or +callback returns the exact value false. Returns a promise that +evalues to true unless the function returned false.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.forEach.

    +

    Parameters

    • callback: ((currentValue, index, self) => false | void)

      Function to execute on each element.

      +
        • (currentValue, index, self): false | void
        • Parameters

          • currentValue: T
          • index: number
          • self: this

          Returns false | void

    Returns Promise<boolean>

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.forEach((currentValue) => {
    console.log(currentValue);
    });
    console.log(result) // true
    console.log(cursor.hasNext); // false +
    +

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.forEach((currentValue) => {
    console.log(currentValue);
    return false; // stop after the first item
    });
    console.log(result); // false
    console.log(cursor.hasNext); // true +
    +
  • Kills the cursor and frees up associated database resources.

    +

    This method has no effect if all batches have already been fetched.

    +

    Returns Promise<void>

    Example

    const cursor1 = await db.query(aql`FOR x IN 1..5 RETURN x`);
    console.log(cursor1.hasMore); // false
    await cursor1.kill(); // no effect

    const cursor2 = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    console.log(cursor2.hasMore); // true
    await cursor2.kill(); // cursor is depleted +
    +
  • Depletes the cursor by applying the callback function to each item in +the cursor's remaining result list. Returns an array containing the +return values of callback for each item.

    +

    Note: This creates an array of all return values, which may impact +memory use when working with very large query result sets. Consider using +ArrayCursor#forEach, ArrayCursor#reduce or +ArrayCursor#flatMap instead.

    +

    See also: +Array.prototype.map.

    +

    Type Parameters

    • R

      Return type of the callback function.

      +

    Parameters

    • callback: ((currentValue, index, self) => R)

      Function to execute on each element.

      +
        • (currentValue, index, self): R
        • Parameters

          • currentValue: T
          • index: number
          • self: this

          Returns R

    Returns Promise<R[]>

    Example

    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const squares = await cursor.map((currentValue) => {
    return currentValue ** 2;
    });
    console.log(squares); // [1, 4, 9, 16, 25]
    console.log(cursor.hasNext); // false +
    +
  • Advances the cursor and returns the next value in the cursor's remaining +result list, or undefined if the cursor has been depleted.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    Returns Promise<undefined | T>

    Example

    const cursor = await db.query(aql`FOR x IN 1..3 RETURN x`);
    const one = await cursor.next(); // 1
    const two = await cursor.next(); // 2
    const three = await cursor.next(); // 3
    const empty = await cursor.next(); // undefined +
    +
  • Depletes the cursor by applying the reducer function to each item in +the cursor's remaining result list. Returns the return value of reducer +for the last item.

    +

    Note: Most complex uses of the reduce method can be replaced with +simpler code using ArrayCursor#forEach or the for await syntax.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.reduce.

    +

    Type Parameters

    • R

      Return type of the reducer function.

      +

    Parameters

    • reducer: ((accumulator, currentValue, index, self) => R)

      Function to execute on each element.

      +
        • (accumulator, currentValue, index, self): R
        • Parameters

          • accumulator: R
          • currentValue: T
          • index: number
          • self: this

          Returns R

    • initialValue: R

      Initial value of the accumulator value passed to +the reducer function.

      +

    Returns Promise<R>

    Example

    function largestOfTwo(one, two) {
    return Math.max(one, two);
    }
    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.reduce(largestOfTwo, 0);
    console.log(result); // 5
    console.log(cursor.hasNext); // false
    const emptyResult = await cursor.reduce(largestOfTwo, 0);
    console.log(emptyResult); // 0 +
    +

    Example

    // BAD! NEEDLESSLY COMPLEX!
    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.reduce((accumulator, currentValue) => {
    if (currentValue % 2 === 0) {
    accumulator.even.push(...currentValue);
    } else {
    accumulator.odd.push(...currentValue);
    }
    return accumulator;
    }, { odd: [], even: [] });
    console.log(result); // { odd: [1, 3, 5], even: [2, 4] }

    // GOOD! MUCH SIMPLER!
    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const odd = [];
    const even = [];
    for await (const currentValue of cursor) {
    if (currentValue % 2 === 0) {
    even.push(currentValue);
    } else {
    odd.push(currentValue);
    }
    }
    console.log({ odd, even }); // { odd: [1, 3, 5], even: [2, 4] } +
    +
  • Depletes the cursor by applying the reducer function to each item in +the cursor's remaining result list. Returns the return value of reducer +for the last item.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.reduce.

    +

    Type Parameters

    • R

      Return type of the reducer function.

      +

    Parameters

    • reducer: ((accumulator, currentValue, index, self) => R)

      Function to execute on each element.

      +
        • (accumulator, currentValue, index, self): R
        • Parameters

          • accumulator: T | R
          • currentValue: T
          • index: number
          • self: this

          Returns R

    Returns Promise<undefined | R>

    Example

    function largestOfTwo(one, two) {
    return Math.max(one, two);
    }
    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const result = await cursor.reduce(largestOfTwo);
    console.log(result); // 5
    console.log(cursor.hasNext); // false
    const emptyResult = await cursor.reduce(largestOfTwo);
    console.log(emptyResult); // undefined +
    +
\ No newline at end of file diff --git a/9.1.0/classes/cursor.BatchedArrayCursor.html b/9.1.0/classes/cursor.BatchedArrayCursor.html new file mode 100644 index 00000000..3910878b --- /dev/null +++ b/9.1.0/classes/cursor.BatchedArrayCursor.html @@ -0,0 +1,141 @@ +BatchedArrayCursor | arangojs - v9.1.0

Class BatchedArrayCursor<T>

The BatchedArrayCursor provides a batch-wise API to an ArrayCursor.

+

When using TypeScript, cursors can be cast to a specific item type in order +to increase type safety.

+

Example

const db = new Database();
const query = aql`FOR x IN 1..5 RETURN x`;
const cursor = await db.query(query) as ArrayCursor<number>;
const batches = cursor.batches; +
+

Example

const db = new Database();
const query = aql`FOR x IN 1..10000 RETURN x`;
const cursor = await db.query(query, { batchSize: 10 });
for await (const batch of cursor.batches) {
// Process all values in a batch in parallel
await Promise.all(batch.map(
value => asyncProcessValue(value)
));
} +
+

Type Parameters

  • T = any

    Type to use for each item. Defaults to any.

    +

Accessors

  • get count(): undefined | number
  • Total number of documents in the query result. Only available if the +count option was used.

    +

    Returns undefined | number

  • get extra(): Readonly<CursorExtras>
  • Additional information about the cursor.

    +

    Returns Readonly<CursorExtras>

  • get hasMore(): boolean
  • Whether the cursor has any remaining batches that haven't yet been +fetched. If set to false, all batches have been fetched and no +additional requests to the server will be made when consuming any +remaining batches from this cursor.

    +

    Returns boolean

  • get hasNext(): boolean
  • Whether the cursor has more batches. If set to false, the cursor has +already been depleted and contains no more batches.

    +

    Returns boolean

Methods

  • Enables use with for await to deplete the cursor by asynchronously +yielding every batch in the cursor's remaining result set.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    Returns AsyncGenerator<T[], undefined, undefined>

    Example

    const cursor = await db.query(aql`
    FOR user IN users
    FILTER user.isActive
    RETURN user
    `);
    for await (const users of cursor.batches) {
    for (const user of users) {
    console.log(user.email, user.isAdmin);
    }
    } +
    +
  • Depletes the cursor, then returns an array containing all batches in the +cursor's remaining result list.

    +

    Returns Promise<T[][]>

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    const result = await cursor.batches.all(); // [[1, 2], [3, 4], [5]]
    console.log(cursor.hasNext); // false +
    +
  • Depletes the cursor by applying the callback function to each batch in +the cursor's remaining result list. Returns an array containing the +return values of callback for each batch, flattened to a depth of 1.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.flatMap.

    +

    Type Parameters

    • R

      Return type of the callback function.

      +

    Parameters

    • callback: ((currentBatch, index, self) => R | R[])

      Function to execute on each element.

      +
        • (currentBatch, index, self): R | R[]
        • Parameters

          • currentBatch: T[]
          • index: number
          • self: this

          Returns R | R[]

    Returns Promise<R[]>

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    const squares = await cursor.batches.flatMap((currentBatch) => {
    return currentBatch.map((value) => value ** 2);
    });
    console.log(squares); // [1, 1, 2, 4, 3, 9, 4, 16, 5, 25]
    console.log(cursor.hasNext); // false +
    +

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 1 }
    );
    const odds = await cursor.batches.flatMap((currentBatch) => {
    if (currentBatch[0] % 2 === 0) {
    return []; // empty array flattens into nothing
    }
    return currentBatch;
    });
    console.logs(odds); // [1, 3, 5] +
    +
  • Advances the cursor by applying the callback function to each item in +the cursor's remaining result list until the cursor is depleted or +callback returns the exact value false. Returns a promise that +evalues to true unless the function returned false.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.forEach.

    +

    Parameters

    • callback: ((currentBatch, index, self) => false | void)

      Function to execute on each element.

      +
        • (currentBatch, index, self): false | void
        • Parameters

          • currentBatch: T[]
          • index: number
          • self: this

          Returns false | void

    Returns Promise<boolean>

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    const result = await cursor.batches.forEach((currentBatch) => {
    for (const value of currentBatch) {
    console.log(value);
    }
    });
    console.log(result) // true
    console.log(cursor.hasNext); // false +
    +

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    const result = await cursor.batches.forEach((currentBatch) => {
    for (const value of currentBatch) {
    console.log(value);
    }
    return false; // stop after the first batch
    });
    console.log(result); // false
    console.log(cursor.hasNext); // true +
    +
  • Drains the cursor and frees up associated database resources.

    +

    This method has no effect if all batches have already been consumed.

    +

    Returns Promise<void>

    Example

    const cursor1 = await db.query(aql`FOR x IN 1..5 RETURN x`);
    console.log(cursor1.hasMore); // false
    await cursor1.kill(); // no effect

    const cursor2 = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    console.log(cursor2.hasMore); // true
    await cursor2.kill(); // cursor is depleted +
    +
  • Loads all remaining batches from the server.

    +

    Warning: This may impact memory use when working with very large +query result sets.

    +

    Returns Promise<void>

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 1 }
    );
    console.log(cursor.hasMore); // true
    await cursor.batches.loadAll();
    console.log(cursor.hasMore); // false
    console.log(cursor.hasNext); // true
    for await (const item of cursor) {
    console.log(item);
    // No server roundtrips necessary any more
    } +
    +
  • Depletes the cursor by applying the callback function to each batch in +the cursor's remaining result list. Returns an array containing the +return values of callback for each batch.

    +

    Note: This creates an array of all return values, which may impact +memory use when working with very large query result sets. Consider using +BatchedArrayCursor#forEach, BatchedArrayCursor#reduce or +BatchedArrayCursor#flatMap instead.

    +

    See also: +Array.prototype.map.

    +

    Type Parameters

    • R

      Return type of the callback function.

      +

    Parameters

    • callback: ((currentBatch, index, self) => R)

      Function to execute on each element.

      +
        • (currentBatch, index, self): R
        • Parameters

          • currentBatch: T[]
          • index: number
          • self: this

          Returns R

    Returns Promise<R[]>

    Example

    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 2 }
    );
    const squares = await cursor.batches.map((currentBatch) => {
    return currentBatch.map((value) => value ** 2);
    });
    console.log(squares); // [[1, 4], [9, 16], [25]]
    console.log(cursor.hasNext); // false +
    +
  • Advances the cursor and returns all remaining values in the cursor's +current batch. If the current batch has already been exhausted, fetches +the next batch from the server and returns it, or undefined if the +cursor has been depleted.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    Returns Promise<undefined | T[]>

    Example

    const cursor = await db.query(
    aql`FOR i IN 1..10 RETURN i`,
    { batchSize: 5 }
    );
    const firstBatch = await cursor.batches.next(); // [1, 2, 3, 4, 5]
    await cursor.next(); // 6
    const lastBatch = await cursor.batches.next(); // [7, 8, 9, 10]
    console.log(cursor.hasNext); // false +
    +
  • Depletes the cursor by applying the reducer function to each batch in +the cursor's remaining result list. Returns the return value of reducer +for the last batch.

    +

    Note: Most complex uses of the reduce method can be replaced with +simpler code using BatchedArrayCursor#forEach or the for await +syntax.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.reduce.

    +

    Type Parameters

    • R

      Return type of the reducer function.

      +

    Parameters

    • reducer: ((accumulator, currentBatch, index, self) => R)

      Function to execute on each element.

      +
        • (accumulator, currentBatch, index, self): R
        • Parameters

          • accumulator: R
          • currentBatch: T[]
          • index: number
          • self: this

          Returns R

    • initialValue: R

      Initial value of the accumulator value passed to +the reducer function.

      +

    Returns Promise<R>

    Example

    function largestValue(baseline, values) {
    return Math.max(baseline, ...values);
    }
    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 3 }
    );
    const result = await cursor.batches.reduce(largestValue, 0);
    console.log(result); // 5
    console.log(cursor.hasNext); // false
    const emptyResult = await cursor.batches.reduce(largestValue, 0);
    console.log(emptyResult); // 0 +
    +

    Example

    // BAD! NEEDLESSLY COMPLEX!
    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 1 }
    );
    const result = await cursor.reduce((accumulator, currentBatch) => {
    if (currentBatch[0] % 2 === 0) {
    accumulator.even.push(...currentBatch);
    } else {
    accumulator.odd.push(...currentBatch);
    }
    return accumulator;
    }, { odd: [], even: [] });
    console.log(result); // { odd: [1, 3, 5], even: [2, 4] }

    // GOOD! MUCH SIMPLER!
    const cursor = await db.query(aql`FOR x IN 1..5 RETURN x`);
    const odd = [];
    const even = [];
    for await (const currentBatch of cursor) {
    if (currentBatch[0] % 2 === 0) {
    even.push(...currentBatch);
    } else {
    odd.push(...currentBatch);
    }
    }
    console.log({ odd, even }); // { odd: [1, 3, 5], even: [2, 4] } +
    +
  • Depletes the cursor by applying the reducer function to each batch in +the cursor's remaining result list. Returns the return value of reducer +for the last batch.

    +

    Note: If the result set spans multiple batches, any remaining batches +will only be fetched on demand. Depending on the cursor's TTL and the +processing speed, this may result in the server discarding the cursor +before it is fully depleted.

    +

    See also: +Array.prototype.reduce.

    +

    Type Parameters

    • R

      Return type of the reducer function.

      +

    Parameters

    • reducer: ((accumulator, currentBatch, index, self) => R)

      Function to execute on each element.

      +
        • (accumulator, currentBatch, index, self): R
        • Parameters

          • accumulator: T[] | R
          • currentBatch: T[]
          • index: number
          • self: this

          Returns R

    Returns Promise<undefined | R>

    Example

    function largestValue(values1, values2) {
    return [Math.max(...values1, ...values2)];
    }
    const cursor = await db.query(
    aql`FOR x IN 1..5 RETURN x`,
    { batchSize: 3 }
    );
    const result = await cursor.batches.reduce(largestValue);
    console.log(result); // [5]
    console.log(cursor.hasNext); // false +
    +
\ No newline at end of file diff --git a/9.1.0/classes/database.Database.html b/9.1.0/classes/database.Database.html new file mode 100644 index 00000000..eebf3756 --- /dev/null +++ b/9.1.0/classes/database.Database.html @@ -0,0 +1,1237 @@ +Database | arangojs - v9.1.0

An object representing a single ArangoDB database. All arangojs collections, +cursors, analyzers and so on are linked to a Database object.

+

Constructors

Accessors

Methods

acquireHostList +analyzer +analyzers +beginTransaction +clearSlowQueries +clearUserAccessLevel +close +collection +collections +commitLocalServiceState +computeClusterRebalance +createAnalyzer +createCollection +createDatabase +createEdgeCollection +createFunction +createGraph +createHotBackup +createJob +createUser +createView +database +databases +deleteAllJobResults +deleteExpiredJobResults +deleteHotBackup +downloadService +dropDatabase +dropFunction +executeClusterRebalance +executeTransaction +exists +explain +get +getClusterImbalance +getLogEntries +getLogLevel +getLogMessages +getService +getServiceConfiguration +getServiceDependencies +getServiceDocumentation +getServiceReadme +getUser +getUserAccessLevel +getUserDatabases +graph +graphs +installService +job +killQuery +listAnalyzers +listCollections +listCompletedJobs +listDatabases +listFunctions +listGraphs +listHotBackups +listPendingJobs +listRunningQueries +listServiceScripts +listServices +listSlowQueries +listTransactions +listUserDatabases +listUsers +listViews +login +parse +query +queryRules +queryTracking +rebalanceCluster +removeUser +renameCollection +renameView +renewAuthToken +replaceService +replaceServiceConfiguration +replaceServiceDependencies +replaceUser +restoreHotBackup +route +runServiceScript +runServiceTests +setLogLevel +setResponseQueueTimeSamples +setServiceDevelopmentMode +setUserAccessLevel +shutdown +time +transaction +transactions +uninstallService +updateServiceConfiguration +updateServiceDependencies +updateUser +upgradeService +useBasicAuth +useBearerAuth +userDatabases +version +view +views +waitForPropagation +withTransaction +

Constructors

  • Creates a new Database instance with its own connection pool.

    +

    See also Database#database.

    +

    Parameters

    • Optional config: Config

      An object with configuration options.

      +

    Returns Database

    Example

    const db = new Database({
    url: "http://127.0.0.1:8529",
    databaseName: "my_database",
    auth: { username: "admin", password: "hunter2" },
    }); +
    +
  • Creates a new Database instance with its own connection pool.

    +

    See also Database#database.

    +

    Parameters

    • url: string | string[]

      Base URL of the ArangoDB server or list of server URLs. +Equivalent to the url option in connection.Config.

      +
    • Optional name: string

    Returns Database

    Example

    const db = new Database("http://127.0.0.1:8529", "my_database");
    db.useBasicAuth("admin", "hunter2"); +
    +

Accessors

  • get name(): string
  • Name of the ArangoDB database this instance represents.

    +

    Returns string

  • get queueTime(): QueueTimeMetrics
  • Methods for accessing the server-reported queue times of the mostly +recently received responses.

    +

    Returns QueueTimeMetrics

Methods

  • Updates the URL list by requesting a list of all coordinators in the +cluster and adding any endpoints not initially specified in the +connection.Config.

    +

    For long-running processes communicating with an ArangoDB cluster it is +recommended to run this method periodically (e.g. once per hour) to make +sure new coordinators are picked up correctly and can be used for +fail-over or load balancing.

    +

    Parameters

    • overwrite: boolean = false

      If set to true, the existing host list will be +replaced instead of extended.

      +

    Returns Promise<void>

    Example

    const db = new Database();
    const interval = setInterval(
    () => db.acquireHostList(),
    5 * 60 * 1000 // every 5 minutes
    );

    // later
    clearInterval(interval);
    system.close(); +
    +
  • Returns an analyzer.Analyzer instance representing the Analyzer with the +given analyzerName.

    +

    Parameters

    • analyzerName: string

    Returns Analyzer

    Example

    const db = new Database();
    const analyzer = db.analyzer("some-analyzer");
    const info = await analyzer.get(); +
    +
  • Fetches all Analyzers visible in the database and returns an array of +analyzer.Analyzer instances for those Analyzers.

    +

    See also Database#listAnalyzers.

    +

    Returns Promise<Analyzer[]>

    Example

    const db = new Database();
    const analyzers = await db.analyzers();
    // analyzers is an array of Analyzer instances +
    +
  • Begins a new streaming transaction for the given collections, then returns +a transaction.Transaction instance for the transaction.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as +well as (in TypeScript) collection.DocumentCollection and +collection.EdgeCollection.

    +

    Parameters

    Returns Promise<Transaction>

    Example

    const vertices = db.collection("vertices");
    const edges = db.collection("edges");
    const trx = await db.beginTransaction({
    read: ["vertices"],
    write: [edges] // collection instances can be passed directly
    });
    const start = await trx.step(() => vertices.document("a"));
    const end = await trx.step(() => vertices.document("b"));
    await trx.step(() => edges.save({ _from: start._id, _to: end._id }));
    await trx.commit(); +
    +
  • Begins a new streaming transaction for the given collections, then returns +a transaction.Transaction instance for the transaction.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Parameters

    • collections: (string | ArangoCollection)[]

      Collections that can be read from and written to +during the transaction.

      +
    • Optional options: TransactionOptions

      Options for the transaction.

      +

    Returns Promise<Transaction>

    Example

    const vertices = db.collection("vertices");
    const edges = db.collection("edges");
    const trx = await db.beginTransaction([
    "vertices",
    edges // collection instances can be passed directly
    ]);
    const start = await trx.step(() => vertices.document("a"));
    const end = await trx.step(() => vertices.document("b"));
    await trx.step(() => edges.save({ _from: start._id, _to: end._id }));
    await trx.commit(); +
    +
  • Begins a new streaming transaction for the given collections, then returns +a transaction.Transaction instance for the transaction.

    +

    The Collection can be specified as a collection name (string) or an object +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Parameters

    • collection: string | ArangoCollection

      A collection that can be read from and written to +during the transaction.

      +
    • Optional options: TransactionOptions

      Options for the transaction.

      +

    Returns Promise<Transaction>

    Example

    const vertices = db.collection("vertices");
    const start = vertices.document("a");
    const end = vertices.document("b");
    const edges = db.collection("edges");
    const trx = await db.beginTransaction(
    edges // collection instances can be passed directly
    );
    await trx.step(() => edges.save({ _from: start._id, _to: end._id }));
    await trx.commit(); +
    +
  • Clears the list of recent slow queries.

    +

    See also Database#listSlowQueries.

    +

    Returns Promise<void>

    Example

    const db = new Database();
    await db.clearSlowQueries();
    // Slow query list is now cleared +
    +
  • Clears the given ArangoDB user's access level for the database, or the +given collection in the given database.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to clear the access level for.

      +
    • __namedParameters: UserAccessLevelOptions

    Returns Promise<ArangoApiResponse<Record<string, AccessLevel>>>

    Example

    const db = new Database();
    await db.clearUserAccessLevel("steve");
    // The access level of the user "steve" has been cleared for the current
    // database. +
    +

    Example

    const db = new Database();
    await db.clearUserAccessLevel("steve", { database: "staging" });
    // The access level of the user "steve" has been cleared for the "staging"
    // database. +
    +

    Example

    const db = new Database();
    await db.clearUserAccessLevel("steve", { collection: "pokemons" });
    // The access level of the user "steve" has been cleared for the
    // "pokemons" collection in the current database. +
    +

    Example

    const db = new Database();
    await db.clearUserAccessLevel("steve", {
    database: "staging",
    collection: "pokemons"
    });
    // The access level of the user "steve" has been cleared for the
    // "pokemons" collection in the "staging" database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    await db.clearUserAccessLevel("steve", { database: staging });
    // The access level of the user "steve" has been cleared for the "staging"
    // database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    await db.clearUserAccessLevel("steve", {
    collection: staging.collection("pokemons")
    });
    // The access level of the user "steve" has been cleared for the
    // "pokemons" collection in database "staging". +
    +
  • Closes all active connections of this database instance.

    +

    Can be used to clean up idling connections during longer periods of +inactivity.

    +

    Note: This method currently has no effect in the browser version of +arangojs.

    +

    Returns void

    Example

    const db = new Database();
    const sessions = db.collection("sessions");
    // Clean up expired sessions once per hour
    setInterval(async () => {
    await db.query(aql`
    FOR session IN ${sessions}
    FILTER session.expires < DATE_NOW()
    REMOVE session IN ${sessions}
    `);
    // Making sure to close the connections because they're no longer used
    system.close();
    }, 1000 * 60 * 60); +
    +
  • Returns a Collection instance for the given collection name.

    +

    In TypeScript the collection implements both the +collection.DocumentCollection and collection.EdgeCollection +interfaces and can be cast to either type to enforce a stricter API.

    +

    Type Parameters

    • T extends Record<string, any> = any

      Type to use for document data. Defaults to any.

      +

    Parameters

    • collectionName: string

      Name of the edge collection.

      +

    Returns DocumentCollection<T, T> & EdgeCollection<T, T>

    Example

    const db = new Database();
    const collection = db.collection("potatoes"); +
    +

    Example

    interface Person {
    name: string;
    }
    const db = new Database();
    const persons = db.collection<Person>("persons"); +
    +

    Example

    interface Person {
    name: string;
    }
    interface Friend {
    startDate: number;
    endDate?: number;
    }
    const db = new Database();
    const documents = db.collection("persons") as DocumentCollection<Person>;
    const edges = db.collection("friends") as EdgeCollection<Friend>; +
    +
  • Fetches all collections from the database and returns an array of +Collection instances.

    +

    In TypeScript these instances implement both the +collection.DocumentCollection and collection.EdgeCollection +interfaces and can be cast to either type to enforce a stricter API.

    +

    See also Database#listCollections.

    +

    Parameters

    • excludeSystem: boolean = true

      Whether system collections should be excluded.

      +

    Returns Promise<(DocumentCollection<any, any> & EdgeCollection<any, any>)[]>

    Example

    const db = new Database();
    const collections = await db.collections();
    // collections is an array of DocumentCollection and EdgeCollection
    // instances not including system collections +
    +

    Example

    const db = new Database();
    const collections = await db.collections(false);
    // collections is an array of DocumentCollection and EdgeCollection
    // instances including system collections +
    +
  • Writes all locally available services to the database and updates any +service bundles missing in the database.

    +

    Parameters

    • replace: boolean = false

      If set to true, outdated services will also be +committed. This can be used to solve some consistency problems when +service bundles are missing in the database or were deleted manually.

      +

    Returns Promise<void>

    Example

    await db.commitLocalServiceState();
    // all services available on the coordinator have been written to the db +
    +

    Example

    await db.commitLocalServiceState(true);
    // all service conflicts have been resolved in favor of this coordinator +
    +
  • Computes a set of move shard operations to rebalance the cluster.

    +

    Parameters

    Returns Promise<ClusterRebalanceResult>

    Example

    const db = new Database();
    const result = await db.computerClusterRebalance({
    moveLeaders: true,
    moveFollowers: true
    });
    if (result.moves.length) {
    await db.executeClusterRebalance(result.moves);
    } +
    +
  • Creates a new Analyzer with the given analyzerName and options, then +returns an analyzer.Analyzer instance for the new Analyzer.

    +

    Parameters

    • analyzerName: string

      Name of the Analyzer.

      +
    • options: CreateAnalyzerOptions

      An object defining the properties of the Analyzer.

      +

    Returns Promise<Analyzer>

    Example

    const db = new Database();
    const analyzer = await db.createAnalyzer("potatoes", { type: "identity" });
    // the identity Analyzer "potatoes" now exists +
    +
  • Creates a new collection with the given collectionName and options, +then returns a collection.DocumentCollection instance for the new collection.

    +

    Type Parameters

    • T extends Record<string, any> = any

      Type to use for document data. Defaults to any.

      +

    Parameters

    Returns Promise<DocumentCollection<T, T>>

    Example

    const db = new Database();
    const documents = db.createCollection("persons"); +
    +

    Example

    interface Person {
    name: string;
    }
    const db = new Database();
    const documents = db.createCollection<Person>("persons"); +
    +
  • Creates a new edge collection with the given collectionName and +options, then returns an collection.EdgeCollection instance for the new +edge collection.

    +

    Type Parameters

    • T extends Record<string, any> = any

      Type to use for edge document data. Defaults to any.

      +

    Parameters

    Returns Promise<EdgeCollection<T, T>>

    Example

    const db = new Database();
    const edges = db.createCollection("friends", {
    type: CollectionType.EDGE_COLLECTION
    }); +
    +

    Example

    interface Friend {
    startDate: number;
    endDate?: number;
    }
    const db = new Database();
    const edges = db.createCollection<Friend>("friends", {
    type: CollectionType.EDGE_COLLECTION
    }); +
    +
  • Creates a new database with the given databaseName with the given +options and returns a Database instance for that database.

    +

    Parameters

    • databaseName: string

      Name of the database to create.

      +
    • Optional options: CreateDatabaseOptions

      Options for creating the database.

      +

    Returns Promise<Database>

    Example

    const db = new Database();
    const info = await db.createDatabase("mydb", {
    users: [{ username: "root" }]
    });
    // the database has been created +
    +
  • Creates a new database with the given databaseName with the given +users and returns a Database instance for that database.

    +

    Parameters

    • databaseName: string

      Name of the database to create.

      +
    • users: CreateDatabaseUser[]

      Database users to create with the database.

      +

    Returns Promise<Database>

    Example

    const db = new Database();
    const info = await db.createDatabase("mydb", [{ username: "root" }]);
    // the database has been created +
    +
  • Creates a new edge collection with the given collectionName and +options, then returns an collection.EdgeCollection instance for the new +edge collection.

    +

    This is a convenience method for calling Database#createCollection +with options.type set to EDGE_COLLECTION.

    +

    Type Parameters

    • T extends Record<string, any> = any

      Type to use for edge document data. Defaults to any.

      +

    Parameters

    • collectionName: string

      Name of the new collection.

      +
    • Optional options: CreateCollectionOptions

      Options for creating the collection.

      +

    Returns Promise<EdgeCollection<T, T>>

    Example

    const db = new Database();
    const edges = db.createEdgeCollection("friends"); +
    +

    Example

    interface Friend {
    startDate: number;
    endDate?: number;
    }
    const db = new Database();
    const edges = db.createEdgeCollection<Friend>("friends"); +
    +
  • Creates an AQL user function with the given name and code if it does +not already exist or replaces it if a function with the same name already +existed.

    +

    Parameters

    • name: string

      A valid AQL function name. The function name must consist +of at least two alphanumeric identifiers separated with double colons.

      +
    • code: string

      A string evaluating to a JavaScript function (not a +JavaScript function object).

      +
    • isDeterministic: boolean = false

      If set to true, the function is expected to +always return the same result for equivalent inputs. This option currently +has no effect but may allow for optimizations in the future.

      +

    Returns Promise<ArangoApiResponse<{
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    await db.createFunction(
    "ACME::ACCOUNTING::CALCULATE_VAT",
    "(price) => price * 0.19"
    );
    // Use the new function in an AQL query with template handler:
    const cursor = await db.query(aql`
    FOR product IN products
    RETURN MERGE(
    { vat: ACME::ACCOUNTING::CALCULATE_VAT(product.price) },
    product
    )
    `);
    // cursor is a cursor for the query result +
    +
  • Creates a graph with the given graphName and edgeDefinitions, then +returns a graph.Graph instance for the new graph.

    +

    Parameters

    • graphName: string

      Name of the graph to be created.

      +
    • edgeDefinitions: EdgeDefinitionOptions[]

      An array of edge definitions.

      +
    • Optional options: CreateGraphOptions

      An object defining the properties of the graph.

      +

    Returns Promise<Graph>

  • (Enterprise Edition only.) Creates a hot backup of the entire ArangoDB +deployment including all databases, collections, etc.

    +

    Returns an object describing the backup result.

    +

    Parameters

    Returns Promise<HotBackupResult>

    Example

    const info = await db.createHotBackup();
    // a hot backup has been created +
    +
  • Creates an async job by executing the given callback function. The first +database request performed by the callback will be marked for asynchronous +execution and its result will be made available as an async job.

    +

    Returns a Job instance that can be used to retrieve the result +of the callback function once the request has been executed.

    +

    Type Parameters

    • T

    Parameters

    • callback: (() => Promise<T>)

      Callback function to execute as an async job.

      +
        • (): Promise<T>
        • Returns Promise<T>

    Returns Promise<Job<T>>

    Example

    const db = new Database();
    const job = await db.createJob(() => db.collections());
    while (!job.isLoaded) {
    await timeout(1000);
    await job.load();
    }
    // job.result is a list of Collection instances +
    +
  • Creates a new ArangoDB user with the given password.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to create.

      +
    • passwd: string

      Password of the new ArangoDB user.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.createUser("steve", "hunter2");
    // The user "steve" has been created +
    +
  • Creates a new ArangoDB user with the given options.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to create.

      +
    • options: UserOptions

      Additional options for creating the ArangoDB user.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.createUser("steve", { passwd: "hunter2" });
    // The user "steve" has been created +
    +
  • Creates a new View with the given viewName and options, then returns a +view.View instance for the new View.

    +

    Parameters

    • viewName: string

      Name of the View.

      +
    • options: CreateViewOptions

      An object defining the properties of the View.

      +

    Returns Promise<View>

    Example

    const db = new Database();
    const view = await db.createView("potatoes", { type: "arangosearch" });
    // the ArangoSearch View "potatoes" now exists +
    +
  • Creates a new Database instance for the given databaseName that +shares this database's connection pool.

    +

    See also :constructor.

    +

    Parameters

    • databaseName: string

      Name of the database.

      +

    Returns Database

    Example

    const systemDb = new Database();
    const myDb = system.database("my_database"); +
    +
  • Fetches all databases from the server and returns an array of Database +instances for those databases.

    +

    See also Database#listDatabases and +Database#userDatabases.

    +

    Returns Promise<Database[]>

    Example

    const db = new Database();
    const names = await db.databases();
    // databases is an array of databases +
    +
  • Deletes the results of all completed async jobs.

    +

    Returns Promise<void>

  • Deletes the results of all completed async jobs created before the given +threshold.

    +

    Parameters

    • threshold: number

      The expiration timestamp in milliseconds.

      +

    Returns Promise<void>

    Example

    const db = new Database();
    const ONE_WEEK = 7 * 24 * 60 * 60 * 1000;
    await db.deleteExpiredJobResults(Date.now() - ONE_WEEK);
    // all job results older than a week have been deleted +
    +
  • (Enterprise Edition only.) Deletes a local hot backup.

    +

    Parameters

    • id: string

      The ID of the backup to delete.

      +

    Returns Promise<void>

    Example

    await db.deleteHotBackup("2023-09-19T15.38.21Z_example");
    // the backup has been deleted +
    +
  • Retrieves a zip bundle containing the service files.

    +

    Returns a Buffer in node.js or Blob in the browser.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +

    Returns Promise<Buffer | Blob>

    Example

    const db = new Database();
    const serviceBundle = await db.downloadService("/my-foxx"); +
    +
  • Deletes the database with the given databaseName from the server.

    +

    Parameters

    • databaseName: string

      Name of the database to delete.

      +

    Returns Promise<boolean>

    Example

    const db = new Database();
    await db.dropDatabase("mydb");
    // database "mydb" no longer exists +
    +
  • Deletes the AQL user function with the given name from the database.

    +

    Parameters

    • name: string

      The name of the user function to drop.

      +
    • group: boolean = false

      If set to true, all functions with a name starting with +name will be deleted, otherwise only the function with the exact name +will be deleted.

      +

    Returns Promise<ArangoApiResponse<{
        deletedCount: number;
    }>>

    Example

    const db = new Database();
    await db.dropFunction("ACME::ACCOUNTING::CALCULATE_VAT");
    // the function no longer exists +
    +
  • Executes the given cluster move shard operations.

    +

    Parameters

    Returns Promise<unknown>

    Example

    const db = new Database();
    const result = await db.computerClusterRebalance({
    moveLeaders: true,
    moveFollowers: true
    });
    if (result.moves.length) {
    await db.executeClusterRebalance(result.moves);
    } +
    +
  • Performs a server-side JavaScript transaction and returns its return +value.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Note: The action function will be evaluated and executed on the +server inside ArangoDB's embedded JavaScript environment and can not +access any values other than those passed via the params option.

    +

    See the official ArangoDB documentation for +the JavaScript @arangodb module +for information about accessing the database from within ArangoDB's +server-side JavaScript environment.

    +

    Parameters

    • collections: TransactionCollections & {
          allowImplicit?: boolean;
      }

      Collections involved in the transaction.

      +
    • action: string

      A string evaluating to a JavaScript function to be +executed on the server.

      +
    • Optional options: TransactionOptions & {
          params?: any;
      }

      Options for the transaction. If options.allowImplicit +is specified, it will be used if collections.allowImplicit was not +specified.

      +

    Returns Promise<any>

    Example

    const db = new Database();

    const action = `
    function(params) {
    // This code will be executed inside ArangoDB!
    const { query } = require("@arangodb");
    return query\`
    FOR user IN _users
    FILTER user.age > ${params.age}
    RETURN u.user
    \`.toArray();
    }
    `);

    const result = await db.executeTransaction({
    read: ["_users"]
    }, action, {
    params: { age: 12 }
    });
    // result contains the return value of the action +
    +
  • Performs a server-side transaction and returns its return value.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Note: The action function will be evaluated and executed on the +server inside ArangoDB's embedded JavaScript environment and can not +access any values other than those passed via the params option. +See the official ArangoDB documentation for +the JavaScript @arangodb module +for information about accessing the database from within ArangoDB's +server-side JavaScript environment.

    +

    Parameters

    • collections: (string | ArangoCollection)[]

      Collections that can be read from and written to +during the transaction.

      +
    • action: string

      A string evaluating to a JavaScript function to be +executed on the server.

      +
    • Optional options: TransactionOptions & {
          params?: any;
      }

      Options for the transaction.

      +

    Returns Promise<any>

    Example

    const db = new Database();

    const action = `
    function(params) {
    // This code will be executed inside ArangoDB!
    const { query } = require("@arangodb");
    return query\`
    FOR user IN _users
    FILTER user.age > ${params.age}
    RETURN u.user
    \`.toArray();
    }
    `);

    const result = await db.executeTransaction(["_users"], action, {
    params: { age: 12 }
    });
    // result contains the return value of the action +
    +
  • Performs a server-side transaction and returns its return value.

    +

    The Collection can be specified as a collection name (string) or an object +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Note: The action function will be evaluated and executed on the +server inside ArangoDB's embedded JavaScript environment and can not +access any values other than those passed via the params option. +See the official ArangoDB documentation for +the JavaScript @arangodb module +for information about accessing the database from within ArangoDB's +server-side JavaScript environment.

    +

    Parameters

    • collection: string | ArangoCollection

      A collection that can be read from and written to +during the transaction.

      +
    • action: string

      A string evaluating to a JavaScript function to be +executed on the server.

      +
    • Optional options: TransactionOptions & {
          params?: any;
      }

      Options for the transaction.

      +

    Returns Promise<any>

    Example

    const db = new Database();

    const action = `
    function(params) {
    // This code will be executed inside ArangoDB!
    const { query } = require("@arangodb");
    return query\`
    FOR user IN _users
    FILTER user.age > ${params.age}
    RETURN u.user
    \`.toArray();
    }
    `);

    const result = await db.executeTransaction("_users", action, {
    params: { age: 12 }
    });
    // result contains the return value of the action +
    +
  • Checks whether the database exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const result = await db.exists();
    // result indicates whether the database exists +
    +
  • Explains a database query using the given query.

    +

    See the aql!aql template string handler for information about how +to create a query string without manually defining bind parameters nor +having to worry about escaping variables.

    +

    Parameters

    • query: AqlQuery<any>

      An object containing an AQL query string and bind +parameters, e.g. the object returned from an aql!aql template string.

      +
    • Optional options: ExplainOptions & {
          allPlans?: false;
      }

      Options for explaining the query.

      +

    Returns Promise<ArangoApiResponse<SingleExplainResult>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const explanation = await db.explain(aql`
    FOR doc IN ${collection}
    FILTER doc.flavor == "strawberry"
    RETURN doc._key
    `); +
    +
  • Explains a database query using the given query.

    +

    See the aql!aql template string handler for information about how +to create a query string without manually defining bind parameters nor +having to worry about escaping variables.

    +

    Parameters

    • query: AqlQuery<any>

      An object containing an AQL query string and bind +parameters, e.g. the object returned from an aql!aql template string.

      +
    • Optional options: ExplainOptions & {
          allPlans: true;
      }

      Options for explaining the query.

      +

    Returns Promise<ArangoApiResponse<MultiExplainResult>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const explanation = await db.explain(
    aql`
    FOR doc IN ${collection}
    FILTER doc.flavor == "strawberry"
    RETURN doc._key
    `,
    { allPlans: true }
    ); +
    +
  • Explains a database query using the given query and bindVars.

    +

    See the aql!aql template string handler for a safer and easier +alternative to passing strings directly.

    +

    Parameters

    • query: string | AqlLiteral

      An AQL query string.

      +
    • Optional bindVars: Record<string, any>

      An object defining bind parameters for the query.

      +
    • Optional options: ExplainOptions & {
          allPlans?: false;
      }

      Options for explaining the query.

      +

    Returns Promise<ArangoApiResponse<SingleExplainResult>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const explanation = await db.explain(
    `
    FOR doc IN @@collection
    FILTER doc.flavor == "strawberry"
    RETURN doc._key
    `,
    { "@collection": collection.name }
    ); +
    +
  • Explains a database query using the given query and bindVars.

    +

    See the aql!aql template string handler for a safer and easier +alternative to passing strings directly.

    +

    Parameters

    • query: string | AqlLiteral

      An AQL query string.

      +
    • Optional bindVars: Record<string, any>

      An object defining bind parameters for the query.

      +
    • Optional options: ExplainOptions & {
          allPlans: true;
      }

      Options for explaining the query.

      +

    Returns Promise<ArangoApiResponse<MultiExplainResult>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const explanation = await db.explain(
    `
    FOR doc IN @@collection
    FILTER doc.flavor == "strawberry"
    RETURN doc._key
    `,
    { "@collection": collection.name },
    { allPlans: true }
    ); +
    +
  • Fetches the database description for the active database from the server.

    +

    Returns Promise<DatabaseInfo>

    Example

    const db = new Database();
    const info = await db.get();
    // the database exists +
    +
  • Computes the current cluster imbalance.

    +

    Returns Promise<ClusterRebalanceState>

    Example

    const db = new Database();
    const imbalance = await db.getClusterImbalance(); +
    +
  • Retrieves the log messages from the server's global log.

    +

    Parameters

    Returns Promise<LogEntries>

    Example

    const log = await db.getLogEntries();
    for (let i = 0; i < log.totalAmount; i++) {
    console.log(`${
    new Date(log.timestamp[i] * 1000).toISOString()
    } - [${LogLevel[log.level[i]]}] ${log.text[i]} (#${log.lid[i]})`);
    } +
    +
  • Retrieves the server's current log level for each topic.

    +

    Returns Promise<Record<string, LogLevelSetting>>

    Example

    const levels = await db.getLogLevel();
    console.log(levels.request); // log level for incoming requests +
    +
  • Retrieves the log messages from the server's global log.

    +

    Parameters

    Returns Promise<LogMessage[]>

    Deprecated

    This endpoint has been deprecated in ArangoDB 3.8. +Use Database#getLogEntries instead.

    +

    Example

    const messages = await db.getLogMessages();
    for (const m of messages) {
    console.log(`${m.date} - [${m.level}] ${m.message} (#${m.id})`);
    } +
    +
  • Retrieves information about a mounted service.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +

    Returns Promise<ServiceInfo>

    Example

    const db = new Database();
    const info = await db.getService("/my-service");
    // info contains detailed information about the service +
    +
  • Retrieves information about the service's configuration options and their +current values.

    +

    See also Database#replaceServiceConfiguration and +Database#updateServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • Optional minimal: false

      If set to true, the result will only include each +configuration option's current value. Otherwise it will include the full +definition for each option.

      +

    Returns Promise<Record<string, ServiceConfiguration>>

    Example

    const db = new Database();
    const config = await db.getServiceConfiguration("/my-service");
    for (const [key, option] of Object.entries(config)) {
    console.log(`${option.title} (${key}): ${option.current}`);
    } +
    +
  • Retrieves information about the service's configuration options and their +current values.

    +

    See also Database#replaceServiceConfiguration and +Database#updateServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • minimal: true

      If set to true, the result will only include each +configuration option's current value. Otherwise it will include the full +definition for each option.

      +

    Returns Promise<Record<string, any>>

    Example

    const db = new Database();
    const config = await db.getServiceConfiguration("/my-service", true);
    for (const [key, value] of Object.entries(config)) {
    console.log(`${key}: ${value}`);
    } +
    +
  • Retrieves information about the service's dependencies and their current +mount points.

    +

    See also Database#replaceServiceDependencies and +Database#updateServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • Optional minimal: false

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<Record<string, SingleServiceDependency | MultiServiceDependency>>

    Example

    const db = new Database();
    const deps = await db.getServiceDependencies("/my-service");
    for (const [key, dep] of Object.entries(deps)) {
    console.log(`${dep.title} (${key}): ${dep.current}`);
    } +
    +
  • Retrieves information about the service's dependencies and their current +mount points.

    +

    See also Database#replaceServiceDependencies and +Database#updateServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • minimal: true

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<Record<string, string | string[]>>

    Example

    const db = new Database();
    const deps = await db.getServiceDependencies("/my-service", true);
    for (const [key, value] of Object.entries(deps)) {
    console.log(`${key}: ${value}`);
    } +
    +
  • Retrieves an Open API compatible Swagger API description object for the +service installed at the given mount point.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +

    Returns Promise<SwaggerJson>

    Example

    const db = new Database();
    const spec = await db.getServiceDocumentation("/my-service");
    // spec is a Swagger API description of the service +
    +
  • Retrieves the text content of the service's README or README.md file.

    +

    Returns undefined if no such file could be found.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +

    Returns Promise<undefined | string>

    Example

    const db = new Database();
    const readme = await db.getServiceReadme("/my-service");
    if (readme !== undefined) console.log(readme);
    else console.warn(`No README found.`) +
    +
  • Fetches the user data of a single ArangoDB user.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to fetch.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.getUser("steve");
    // user is the user object for the user named "steve" +
    +
  • Fetches the given ArangoDB user's access level for the database, or the +given collection in the given database.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to fetch the access level for.

      +
    • __namedParameters: UserAccessLevelOptions

    Returns Promise<AccessLevel>

    Example

    const db = new Database();
    const accessLevel = await db.getUserAccessLevel("steve");
    // The access level of the user "steve" has been fetched for the current
    // database. +
    +

    Example

    const db = new Database();
    const accessLevel = await db.getUserAccessLevel("steve", {
    database: "staging"
    });
    // The access level of the user "steve" has been fetched for the "staging"
    // database. +
    +

    Example

    const db = new Database();
    const accessLevel = await db.getUserAccessLevel("steve", {
    collection: "pokemons"
    });
    // The access level of the user "steve" has been fetched for the
    // "pokemons" collection in the current database. +
    +

    Example

    const db = new Database();
    const accessLevel = await db.getUserAccessLevel("steve", {
    database: "staging",
    collection: "pokemons"
    });
    // The access level of the user "steve" has been fetched for the
    // "pokemons" collection in the "staging" database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    const accessLevel = await db.getUserAccessLevel("steve", {
    database: staging
    });
    // The access level of the user "steve" has been fetched for the "staging"
    // database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    const accessLevel = await db.getUserAccessLevel("steve", {
    collection: staging.collection("pokemons")
    });
    // The access level of the user "steve" has been fetched for the
    // "pokemons" collection in database "staging". +
    +
  • Fetches an object mapping names of databases to the access level of the +given ArangoDB user for those databases.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to fetch the access levels for.

      +
    • Optional full: false

      Whether access levels for collections should be included.

      +

    Returns Promise<Record<string, AccessLevel>>

    Example

    const db = new Database();
    const accessLevels = await db.getUserDatabases("steve");
    for (const [databaseName, accessLevel] of Object.entries(accessLevels)) {
    console.log(`${databaseName}: ${accessLevel}`);
    } +
    +
  • Fetches an object mapping names of databases to the access level of the +given ArangoDB user for those databases and the collections within each +database.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to fetch the access levels for.

      +
    • full: true

      Whether access levels for collections should be included.

      +

    Returns Promise<Record<string, {
        collections: Record<string, "undefined" | AccessLevel>;
        permission: AccessLevel;
    }>>

    Example

    const db = new Database();
    const accessLevels = await db.getUserDatabases("steve", true);
    for (const [databaseName, obj] of Object.entries(accessLevels)) {
    console.log(`${databaseName}: ${obj.permission}`);
    for (const [collectionName, accessLevel] of Object.entries(obj.collections)) {
    console.log(`${databaseName}/${collectionName}: ${accessLevel}`);
    }
    } +
    +
  • Returns a graph.Graph instance representing the graph with the given +graphName.

    +

    Parameters

    • graphName: string

      Name of the graph.

      +

    Returns Graph

    Example

    const db = new Database();
    const graph = db.graph("some-graph"); +
    +
  • Fetches all graphs from the database and returns an array of graph.Graph +instances for those graphs.

    +

    See also Database#listGraphs.

    +

    Returns Promise<Graph[]>

    Example

    const db = new Database();
    const graphs = await db.graphs();
    // graphs is an array of Graph instances +
    +
  • Installs a new service.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • source: string | Blob | File

      The service bundle to install.

      +
    • options: InstallServiceOptions = {}

      Options for installing the service.

      +

    Returns Promise<ServiceInfo>

    Example

    const db = new Database();
    // Using a Buffer in Node.js as source
    const source = new Blob([await fs.readFileSync("./my-foxx-service.zip")]);
    const info = await db.installService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a Blob in Node.js as source
    const source = await fs.openAsBlob("./my-foxx-service.zip");
    const info = await db.installService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a File from a browser file input as source
    const element = document.getElementById("my-file-input");
    const source = element.files[0];
    const info = await db.installService("/hello", source); +
    +
  • Returns a job.Job instance for the given jobId.

    +

    Parameters

    • jobId: string

      ID of the async job.

      +

    Returns Job<any>

    Example

    const db = new Database();
    const job = db.job("12345"); +
    +
  • Kills a running query with the given queryId.

    +

    See also Database#listRunningQueries.

    +

    Parameters

    • queryId: string

      The ID of a currently running query.

      +

    Returns Promise<void>

    Example

    const db = new Database();
    const queries = await db.listRunningQueries();
    await Promise.all(queries.map(
    async (query) => {
    if (query.state === "executing") {
    await db.killQuery(query.id);
    }
    }
    )); +
    +
  • Fetches all Analyzers visible in the database and returns an array of +Analyzer descriptions.

    +

    See also Database#analyzers.

    +

    Returns Promise<AnalyzerDescription[]>

    Example

    const db = new Database();
    const analyzers = await db.listAnalyzers();
    // analyzers is an array of Analyzer descriptions +
    +
  • Fetches all collections from the database and returns an array of +collection descriptions.

    +

    See also Database#collections.

    +

    Parameters

    • excludeSystem: boolean = true

      Whether system collections should be excluded.

      +

    Returns Promise<CollectionMetadata[]>

    Example

    const db = new Database();
    const collections = await db.listCollections();
    // collections is an array of collection descriptions
    // not including system collections +
    +

    Example

    const db = new Database();
    const collections = await db.listCollections(false);
    // collections is an array of collection descriptions
    // including system collections +
    +
  • Returns a list of the IDs of all currently available completed async jobs.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const completedJobs = await db.listCompletedJobs();
    console.log(completedJobs); // e.g. ["12345", "67890"] +
    +
  • Fetches all databases from the server and returns an array of their names.

    +

    See also Database#databases and +Database#listUserDatabases.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const names = await db.listDatabases();
    // databases is an array of database names +
    +
  • Fetches a list of all AQL user functions registered with the database.

    +

    Returns Promise<AqlUserFunction[]>

    Example

    const db = new Database();
    const functions = await db.listFunctions();
    const names = functions.map(fn => fn.name); +
    +
  • Fetches all graphs from the database and returns an array of graph +descriptions.

    +

    See also Database#graphs.

    +

    Returns Promise<GraphInfo[]>

    Example

    const db = new Database();
    const graphs = await db.listGraphs();
    // graphs is an array of graph descriptions +
    +
  • (Enterprise Edition only.) Retrieves a list of all locally found hot +backups.

    +

    Parameters

    • Optional id: string | string[]

      If specified, only the backup with the given ID will be +returned.

      +

    Returns Promise<HotBackupList>

    Example

    const backups = await db.listHotBackups();
    for (const backup of backups) {
    console.log(backup.id);
    } +
    +
  • Returns a list of the IDs of all currently pending async jobs.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const pendingJobs = await db.listPendingJobs();
    console.log(pendingJobs); // e.g. ["12345", "67890"] +
    +
  • Fetches a list of information for all currently running queries.

    +

    See also Database#listSlowQueries and Database#killQuery.

    +

    Returns Promise<QueryInfo[]>

    Example

    const db = new Database();
    const queries = await db.listRunningQueries(); +
    +
  • Retrieves a list of scripts defined in the service manifest's "scripts" +section mapped to their human readable representations.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +

    Returns Promise<Record<string, string>>

    Example

    const db = new Database();
    const scripts = await db.listServiceScripts("/my-service");
    for (const [name, title] of Object.entries(scripts)) {
    console.log(`${name}: ${title}`);
    } +
    +
  • Fetches a list of all installed service.

    +

    Parameters

    • excludeSystem: boolean = true

      Whether system services should be excluded.

      +

    Returns Promise<ServiceSummary[]>

    Example

    const db = new Database();
    const services = await db.listServices(); +
    +

    Example

    const db = new Database();
    const services = await db.listServices(false); // all services +
    +
  • Fetches a list of information for all recent slow queries.

    +

    See also Database#listRunningQueries and +Database#clearSlowQueries.

    +

    Returns Promise<QueryInfo[]>

    Example

    const db = new Database();
    const queries = await db.listSlowQueries();
    // Only works if slow query tracking is enabled +
    +
  • Fetches all active transactions from the database and returns an array of +transaction descriptions.

    +

    See also Database#transactions.

    +

    Returns Promise<TransactionDetails[]>

    Example

    const db = new Database();
    const transactions = await db.listTransactions();
    // transactions is an array of transaction descriptions +
    +
  • Fetches all databases accessible to the active user from the server and +returns an array of their names.

    +

    See also Database#userDatabases and +Database#listDatabases.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const names = await db.listUserDatabases();
    // databases is an array of database names +
    +
  • Fetches all ArangoDB users visible to the authenticated user and returns +an array of user objects.

    +

    Returns Promise<ArangoUser[]>

    Example

    const db = new Database();
    const users = await db.listUsers();
    // users is an array of user objects +
    +
  • Fetches all Views from the database and returns an array of View +descriptions.

    +

    See also Database#views.

    +

    Returns Promise<ViewDescription[]>

    Example

    const db = new Database();

    const views = await db.listViews();
    // views is an array of View descriptions +
    +
  • Validates the given database credentials and exchanges them for an +authentication token, then uses the authentication token for future +requests and returns it.

    +

    Parameters

    • username: string = "root"

      The username to authenticate with.

      +
    • password: string = ""

      The password to authenticate with.

      +

    Returns Promise<string>

    Example

    const db = new Database();
    await db.login("admin", "hunter2");
    // with an authentication token for the "admin" user. +
    +
  • Parses the given query and returns the result.

    +

    See the aql!aql template string handler for information about how +to create a query string without manually defining bind parameters nor +having to worry about escaping variables.

    +

    Parameters

    • query: string | AqlLiteral | AqlQuery<any>

      An AQL query string or an object containing an AQL query +string and bind parameters, e.g. the object returned from an aql!aql +template string.

      +

    Returns Promise<ParseResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const ast = await db.parse(aql`
    FOR doc IN ${collection}
    FILTER doc.flavor == "strawberry"
    RETURN doc._key
    `); +
    +
  • Performs a database query using the given query, then returns a new +cursor.ArrayCursor instance for the result set.

    +

    See the aql!aql template string handler for information about how +to create a query string without manually defining bind parameters nor +having to worry about escaping variables.

    +

    Note: When executing a query in a streaming transaction using the +step method, the resulting cursor will be bound to that transaction and +you do not need to use the step method to consume it.

    +

    Type Parameters

    • T = any

    Parameters

    • query: AqlQuery<T>

      An object containing an AQL query string and bind +parameters, e.g. the object returned from an aql!aql template string.

      +
    • Optional options: QueryOptions

      Options for the query execution.

      +

    Returns Promise<ArrayCursor<T>>

    Example

    const db = new Database();
    const active = true;
    const Users = db.collection("_users");

    // Using an aql template string:
    // Bind parameters are automatically extracted and arangojs collections
    // are automatically passed as collection bind parameters.
    const cursor = await db.query(aql`
    FOR u IN ${Users}
    FILTER u.authData.active == ${active}
    RETURN u.user
    `);
    // cursor is a cursor for the query result +
    +

    Example

    const db = new Database();
    const active = true;
    const Users = db.collection("_users");

    // Using an object with a regular multi-line string
    const cursor = await db.query({
    query: `
    FOR u IN @@users
    FILTER u.authData.active == @active
    RETURN u.user
    `,
    bindVars: { active: active, "@users": Users.name }
    }); +
    +
  • Performs a database query using the given query and bindVars, then +returns a new cursor.ArrayCursor instance for the result set.

    +

    See the aql!aql template string handler for a safer and easier +alternative to passing strings directly.

    +

    Note: When executing a query in a streaming transaction using the +step method, the resulting cursor will be bound to that transaction and +you do not need to use the step method to consume it.

    +

    Type Parameters

    • T = any

    Parameters

    • query: string | AqlLiteral

      An AQL query string.

      +
    • Optional bindVars: Record<string, any>

      An object defining bind parameters for the query.

      +
    • Optional options: QueryOptions

      Options for the query execution.

      +

    Returns Promise<ArrayCursor<T>>

    Example

    const db = new Database();
    const active = true;
    const Users = db.collection("_users");

    const cursor = await db.query(
    // A normal multi-line string
    `
    FOR u IN @@users
    FILTER u.authData.active == @active
    RETURN u.user
    `,
    { active: active, "@users": Users.name }
    ); +
    +

    Example

    const db = new Database();
    const active = true;
    const Users = db.collection("_users");

    const cursor = await db.query(
    // An AQL literal created from a normal multi-line string
    aql.literal(`
    FOR u IN @@users
    FILTER u.authData.active == @active
    RETURN u.user
    `),
    { active: active, "@users": Users.name }
    ); +
    +
  • Fetches the available optimizer rules.

    +

    Returns Promise<QueryOptimizerRule[]>

    Example

    const db = new Database();
    const rules = await db.queryRules();
    for (const rule of rules) {
    console.log(rule.name);
    } +
    +
  • Fetches the query tracking properties.

    +

    Returns Promise<QueryTracking>

    Example

    const db = new Database();
    const tracking = await db.queryTracking();
    console.log(tracking.enabled); +
    +
  • Modifies the query tracking properties.

    +

    Parameters

    Returns Promise<QueryTracking>

    Example

    const db = new Database();
    // track up to 5 slow queries exceeding 5 seconds execution time
    await db.setQueryTracking({
    enabled: true,
    trackSlowQueries: true,
    maxSlowQueries: 5,
    slowQueryThreshold: 5
    }); +
    +
  • Computes a set of move shard operations to rebalance the cluster and +executes them.

    +

    Parameters

    Returns Promise<ClusterRebalanceResult>

    Example

    const db = new Database();
    const result = await db.rebalanceCluster({
    moveLeaders: true,
    moveFollowers: true
    });
    // The cluster is now rebalanced. +
    +
  • Removes the ArangoDB user with the given username from the server.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to remove.

      +

    Returns Promise<ArangoApiResponse<Record<string, never>>>

    Example

    const db = new Database();
    await db.removeUser("steve");
    // The user "steve" has been removed +
    +
  • Renames the collection collectionName to newName.

    +

    Additionally removes any stored Collection instance for +collectionName from the Database instance's internal cache.

    +

    Note: Renaming collections may not be supported when ArangoDB is +running in a cluster configuration.

    +

    Parameters

    • collectionName: string

      Current name of the collection.

      +
    • newName: string

      The new name of the collection.

      +

    Returns Promise<ArangoApiResponse<CollectionMetadata>>

  • Renames the view viewName to newName.

    +

    Additionally removes any stored view.View instance for viewName from +the Database instance's internal cache.

    +

    Note: Renaming views may not be supported when ArangoDB is running in +a cluster configuration.

    +

    Parameters

    • viewName: string

      Current name of the view.

      +
    • newName: string

      The new name of the view.

      +

    Returns Promise<ArangoApiResponse<ViewDescription>>

  • Attempts to renew the authentication token passed to Database#useBearerAuth +or returned and used by Database#login. If a new authentication +token is issued, it will be used for future requests and returned.

    +

    Returns Promise<null | string>

    Example

    const db = new Database();
    await db.login("admin", "hunter2");
    // ... later ...
    const newToken = await db.renewAuthToken();
    if (!newToken) // no new token issued +
    +
  • Replaces an existing service with a new service by completely removing the +old service and installing a new service at the same mount point.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • source: string | Blob | File

      The service bundle to install.

      +
    • options: ReplaceServiceOptions = {}

      Options for replacing the service.

      +

    Returns Promise<ServiceInfo>

    Example

    const db = new Database();
    // Using a Buffer in Node.js as source
    const source = new Blob([await fs.readFileSync("./my-foxx-service.zip")]);
    const info = await db.replaceService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a Blob in Node.js as source
    const source = await fs.openAsBlob("./my-foxx-service.zip");
    const info = await db.replaceService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a File from a browser file input as source
    const element = document.getElementById("my-file-input");
    const source = element.files[0];
    const info = await db.replaceService("/hello", source); +
    +
  • Replaces the configuration of the given service, discarding any existing +values for options not specified.

    +

    See also Database#updateServiceConfiguration and +Database#getServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • cfg: Record<string, any>

      An object mapping configuration option names to values.

      +
    • Optional minimal: false

      If set to true, the result will only include each +configuration option's current value and warning (if any). +Otherwise it will include the full definition for each option.

      +

    Returns Promise<Record<string, ServiceConfiguration & {
        warning?: string;
    }>>

    Example

    const db = new Database();
    const config = { currency: "USD", locale: "en-US" };
    const info = await db.replaceServiceConfiguration("/my-service", config);
    for (const [key, option] of Object.entries(info)) {
    console.log(`${option.title} (${key}): ${option.value}`);
    if (option.warning) console.warn(`Warning: ${option.warning}`);
    } +
    +
  • Replaces the configuration of the given service, discarding any existing +values for options not specified.

    +

    See also Database#updateServiceConfiguration and +Database#getServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • cfg: Record<string, any>

      An object mapping configuration option names to values.

      +
    • minimal: true

      If set to true, the result will only include each +configuration option's current value and warning (if any). +Otherwise it will include the full definition for each option.

      +

    Returns Promise<{
        values: Record<string, any>;
        warnings: Record<string, string>;
    }>

    Example

    const db = new Database();
    const config = { currency: "USD", locale: "en-US" };
    const info = await db.replaceServiceConfiguration("/my-service", config);
    for (const [key, value] of Object.entries(info.values)) {
    console.log(`${key}: ${value}`);
    if (info.warnings[key]) console.warn(`Warning: ${info.warnings[key]}`);
    } +
    +
  • Replaces the dependencies of the given service, discarding any existing +mount points for dependencies not specified.

    +

    See also Database#updateServiceDependencies and +Database#getServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • deps: Record<string, string>
    • Optional minimal: false

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<Record<string, (SingleServiceDependency | MultiServiceDependency) & {
        warning?: string;
    }>>

    Example

    const db = new Database();
    const deps = { mailer: "/mailer-api", auth: "/remote-auth" };
    const info = await db.replaceServiceDependencies("/my-service", deps);
    for (const [key, dep] of Object.entries(info)) {
    console.log(`${dep.title} (${key}): ${dep.current}`);
    if (dep.warning) console.warn(`Warning: ${dep.warning}`);
    } +
    +
  • Replaces the dependencies of the given service, discarding any existing +mount points for dependencies not specified.

    +

    See also Database#updateServiceDependencies and +Database#getServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • deps: Record<string, string>
    • minimal: true

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<{
        values: Record<string, string>;
        warnings: Record<string, string>;
    }>

    Example

    const db = new Database();
    const deps = { mailer: "/mailer-api", auth: "/remote-auth" };
    const info = await db.replaceServiceDependencies(
    "/my-service",
    deps,
    true
    );
    for (const [key, value] of Object.entries(info)) {
    console.log(`${key}: ${value}`);
    if (info.warnings[key]) console.warn(`Warning: ${info.warnings[key]}`);
    } +
    +
  • Replaces the ArangoDB user's option with the new options.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to modify.

      +
    • options: UserOptions

      New options to replace the user's existing options.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.replaceUser("steve", { passwd: "", active: false });
    // The user "steve" has been set to inactive with an empty password +
    +
  • (Enteprise Edition only.) Restores a consistent local hot backup.

    +

    Returns the directory path of the restored backup.

    +

    Parameters

    • id: string

      The ID of the backup to restore.

      +

    Returns Promise<string>

    Example

    await db.restoreHotBackup("2023-09-19T15.38.21Z_example");
    // the backup has been restored +
    +
  • Returns a new route.Route instance for the given path (relative to the +database) that can be used to perform arbitrary HTTP requests.

    +

    Parameters

    • Optional path: string

      The database-relative URL of the route. Defaults to the +database API root.

      +
    • Optional headers: Headers | Record<string, string>

      Default headers that should be sent with each request to +the route.

      +

    Returns Route

    Example

    const db = new Database();
    const myFoxxService = db.route("my-foxx-service");
    const response = await myFoxxService.post("users", {
    username: "admin",
    password: "hunter2"
    });
    // response.body is the result of
    // POST /_db/_system/my-foxx-service/users
    // with JSON request body '{"username": "admin", "password": "hunter2"}' +
    +
  • Executes a service script and retrieves its result exposed as +module.exports (if any).

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • name: string

      Name of the service script to execute as defined in the +service manifest.

      +
    • Optional params: any

      Arbitrary value that will be exposed to the script as +argv[0] in the service context (e.g. module.context.argv[0]). +Must be serializable to JSON.

      +

    Returns Promise<any>

    Example

    const db = new Database();
    const result = await db.runServiceScript(
    "/my-service",
    "create-user",
    {
    username: "service_admin",
    password: "hunter2"
    }
    ); +
    +
  • Runs the tests of a given service and returns the results using the +"default" reporter.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • Optional options: {
          filter?: string;
          idiomatic?: false;
          reporter?: "default";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • Optional idiomatic?: false

        Whether the reporter should use "idiomatic" mode. Has no effect when +using the "default" or "suite" reporters.

        +
      • Optional reporter?: "default"

    Returns Promise<ServiceTestDefaultReport>

    Example

    const db = new Database();
    const testReport = await db.runServiceTests("/my-foxx"); +
    +
  • Runs the tests of a given service and returns the results using the +"suite" reporter, which groups the test result by test suite.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic?: false;
          reporter: "suite";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • Optional idiomatic?: false

        Whether the reporter should use "idiomatic" mode. Has no effect when +using the "default" or "suite" reporters.

        +
      • reporter: "suite"

    Returns Promise<ServiceTestSuiteReport>

    Example

    const db = new Database();
    const suiteReport = await db.runServiceTests(
    "/my-foxx",
    { reporter: "suite" }
    ); +
    +
  • Runs the tests of a given service and returns the results using the +"stream" reporter, which represents the results as a sequence of tuples +representing events.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic?: false;
          reporter: "stream";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • Optional idiomatic?: false

        Whether the reporter should use "idiomatic" mode. If set to true, +the results will be returned as a formatted string.

        +
      • reporter: "stream"

    Returns Promise<ServiceTestStreamReport>

    Example

    const db = new Database();
    const streamEvents = await db.runServiceTests(
    "/my-foxx",
    { reporter: "stream" }
    ); +
    +
  • Runs the tests of a given service and returns the results using the +"tap" reporter, which represents the results as an array of strings using +the "tap" format.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic?: false;
          reporter: "tap";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • Optional idiomatic?: false

        Whether the reporter should use "idiomatic" mode. If set to true, +the results will be returned as a formatted string.

        +
      • reporter: "tap"

    Returns Promise<ServiceTestTapReport>

    Example

    const db = new Database();
    const tapLines = await db.runServiceTests(
    "/my-foxx",
    { reporter: "tap" }
    ); +
    +
  • Runs the tests of a given service and returns the results using the +"xunit" reporter, which represents the results as an XML document using +the JSONML exchange format.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic?: false;
          reporter: "xunit";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • Optional idiomatic?: false

        Whether the reporter should use "idiomatic" mode. If set to true, +the results will be returned as a formatted string.

        +
      • reporter: "xunit"

    Returns Promise<ServiceTestXunitReport>

    Example

    const db = new Database();
    const jsonML = await db.runServiceTests(
    "/my-foxx",
    { reporter: "xunit" }
    ); +
    +
  • Runs the tests of a given service and returns the results as a string +using the "stream" reporter in "idiomatic" mode, which represents the +results as a line-delimited JSON stream of tuples representing events.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic: true;
          reporter: "stream";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • idiomatic: true

        Whether the reporter should use "idiomatic" mode. If set to false, +the results will be returned as an array of tuples instead of a +string.

        +
      • reporter: "stream"

    Returns Promise<string>

    Example

    const db = new Database();
    const streamReport = await db.runServiceTests(
    "/my-foxx",
    { reporter: "stream", idiomatic: true }
    ); +
    +
  • Runs the tests of a given service and returns the results as a string +using the "tap" reporter in "idiomatic" mode, which represents the +results using the "tap" format.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic: true;
          reporter: "tap";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • idiomatic: true

        Whether the reporter should use "idiomatic" mode. If set to false, +the results will be returned as an array of strings instead of a +single string.

        +
      • reporter: "tap"

    Returns Promise<string>

    Example

    const db = new Database();
    const tapReport = await db.runServiceTests(
    "/my-foxx",
    { reporter: "tap", idiomatic: true }
    ); +
    +
  • Runs the tests of a given service and returns the results as a string +using the "xunit" reporter in "idiomatic" mode, which represents the +results as an XML document.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • options: {
          filter?: string;
          idiomatic: true;
          reporter: "xunit";
      }

      Options for running the tests.

      +
      • Optional filter?: string

        If set, only tests with full names including this exact string will be +executed.

        +
      • idiomatic: true

        Whether the reporter should use "idiomatic" mode. If set to false, +the results will be returned using the JSONML exchange format +instead of a string.

        +
      • reporter: "xunit"

    Returns Promise<string>

    Example

    const db = new Database();
    const xml = await db.runServiceTests(
    "/my-foxx",
    { reporter: "xunit", idiomatic: true }
    ); +
    +
  • Sets the server's log level for each of the given topics to the given level.

    +

    Any omitted topics will be left unchanged.

    +

    Parameters

    • levels: Record<string, LogLevelSetting>

      An object mapping topic names to log levels.

      +

    Returns Promise<Record<string, LogLevelSetting>>

    Example

    await db.setLogLevel({ request: "debug" });
    // Debug information will now be logged for each request +
    +
  • Sets the limit for the number of values of the most recently received +server-reported queue times that can be accessed using +Database#queueTime.

    +

    Parameters

    • responseQueueTimeSamples: number

      Number of values to maintain.

      +

    Returns void

  • Enables or disables development mode for the given service.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • enabled: boolean = true

      Whether development mode should be enabled or disabled.

      +

    Returns Promise<ServiceInfo>

    Example

    const db = new Database();
    await db.setServiceDevelopmentMode("/my-service", true);
    // the service is now in development mode
    await db.setServiceDevelopmentMode("/my-service", false);
    // the service is now in production mode +
    +
  • Sets the given ArangoDB user's access level for the database, or the +given collection in the given database.

    +

    Parameters

    Returns Promise<ArangoApiResponse<Record<string, AccessLevel>>>

    Example

    const db = new Database();
    await db.setUserAccessLevel("steve", { grant: "rw" });
    // The user "steve" now has read-write access to the current database. +
    +

    Example

    const db = new Database();
    await db.setUserAccessLevel("steve", {
    database: "staging",
    grant: "rw"
    });
    // The user "steve" now has read-write access to the "staging" database. +
    +

    Example

    const db = new Database();
    await db.setUserAccessLevel("steve", {
    collection: "pokemons",
    grant: "rw"
    });
    // The user "steve" now has read-write access to the "pokemons" collection
    // in the current database. +
    +

    Example

    const db = new Database();
    await db.setUserAccessLevel("steve", {
    database: "staging",
    collection: "pokemons",
    grant: "rw"
    });
    // The user "steve" now has read-write access to the "pokemons" collection
    // in the "staging" database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    await db.setUserAccessLevel("steve", {
    database: staging,
    grant: "rw"
    });
    // The user "steve" now has read-write access to the "staging" database. +
    +

    Example

    const db = new Database();
    const staging = db.database("staging");
    await db.setUserAccessLevel("steve", {
    collection: staging.collection("pokemons"),
    grant: "rw"
    });
    // The user "steve" now has read-write access to the "pokemons" collection
    // in database "staging". +
    +
  • Attempts to initiate a clean shutdown of the server.

    +

    Returns Promise<void>

  • Retrives the server's current system time in milliseconds with microsecond +precision.

    +

    Returns Promise<number>

  • Returns a transaction.Transaction instance for an existing streaming +transaction with the given id.

    +

    See also Database#beginTransaction.

    +

    Parameters

    • transactionId: string

    Returns Transaction

    Example

    const trx1 = await db.beginTransaction(collections);
    const id = trx1.id;
    // later
    const trx2 = db.transaction(id);
    await trx2.commit(); +
    +
  • Fetches all active transactions from the database and returns an array of +transaction.Transaction instances for those transactions.

    +

    See also Database#listTransactions.

    +

    Returns Promise<Transaction[]>

    Example

    const db = new Database();
    const transactions = await db.transactions();
    // transactions is an array of transactions +
    +
  • Completely removes a service from the database.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • Optional options: UninstallServiceOptions

      Options for uninstalling the service.

      +

    Returns Promise<void>

    Example

    const db = new Database();
    await db.uninstallService("/my-foxx"); +
    +
  • Updates the configuration of the given service while maintaining any +existing values for options not specified.

    +

    See also Database#replaceServiceConfiguration and +Database#getServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • cfg: Record<string, any>

      An object mapping configuration option names to values.

      +
    • Optional minimal: false

      If set to true, the result will only include each +configuration option's current value and warning (if any). +Otherwise it will include the full definition for each option.

      +

    Returns Promise<Record<string, ServiceConfiguration & {
        warning?: string;
    }>>

    Example

    const db = new Database();
    const config = { currency: "USD", locale: "en-US" };
    const info = await db.updateServiceConfiguration("/my-service", config);
    for (const [key, option] of Object.entries(info)) {
    console.log(`${option.title} (${key}): ${option.value}`);
    if (option.warning) console.warn(`Warning: ${option.warning}`);
    } +
    +
  • Updates the configuration of the given service while maintaining any +existing values for options not specified.

    +

    See also Database#replaceServiceConfiguration and +Database#getServiceConfiguration.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • cfg: Record<string, any>

      An object mapping configuration option names to values.

      +
    • minimal: true

      If set to true, the result will only include each +configuration option's current value and warning (if any). +Otherwise it will include the full definition for each option.

      +

    Returns Promise<{
        values: Record<string, any>;
        warnings: Record<string, string>;
    }>

    Example

    const db = new Database();
    const config = { currency: "USD", locale: "en-US" };
    const info = await db.updateServiceConfiguration("/my-service", config);
    for (const [key, value] of Object.entries(info.values)) {
    console.log(`${key}: ${value}`);
    if (info.warnings[key]) console.warn(`Warning: ${info.warnings[key]}`);
    } +
    +
  • Updates the dependencies of the given service while maintaining any +existing mount points for dependencies not specified.

    +

    See also Database#replaceServiceDependencies and +Database#getServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • deps: Record<string, string>
    • Optional minimal: false

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<Record<string, (SingleServiceDependency | MultiServiceDependency) & {
        warning?: string;
    }>>

    Example

    const db = new Database();
    const deps = { mailer: "/mailer-api", auth: "/remote-auth" };
    const info = await db.updateServiceDependencies("/my-service", deps);
    for (const [key, dep] of Object.entries(info)) {
    console.log(`${dep.title} (${key}): ${dep.current}`);
    if (dep.warning) console.warn(`Warning: ${dep.warning}`);
    } +
    +
  • Updates the dependencies of the given service while maintaining any +existing mount points for dependencies not specified.

    +

    See also Database#replaceServiceDependencies and +Database#getServiceDependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • deps: Record<string, string>
    • minimal: true

      If set to true, the result will only include each +dependency's current mount point. Otherwise it will include the full +definition for each dependency.

      +

    Returns Promise<{
        values: Record<string, string>;
        warnings: Record<string, string>;
    }>

    Example

    const db = new Database();
    const deps = { mailer: "/mailer-api", auth: "/remote-auth" };
    const info = await db.updateServiceDependencies(
    "/my-service",
    deps,
    true
    );
    for (const [key, value] of Object.entries(info)) {
    console.log(`${key}: ${value}`);
    if (info.warnings[key]) console.warn(`Warning: ${info.warnings[key]}`);
    } +
    +
  • Sets the password of a given ArangoDB user to the new value.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to change the password for.

      +
    • passwd: string

      New password for the ArangoDB user.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.updateUser("steve", "hunter2");
    // The user "steve" has received a new password +
    +
  • Updates the ArangoDB user with the new options.

    +

    Parameters

    • username: string

      Name of the ArangoDB user to modify.

      +
    • options: Partial<UserOptions>

      Options of the ArangoDB user to modify.

      +

    Returns Promise<ArangoApiResponse<ArangoUser>>

    Example

    const db = new Database();
    const user = await db.updateUser("steve", { active: false });
    // The user "steve" has been set to inactive +
    +
  • Replaces an existing service with a new service while retaining the old +service's configuration and dependencies.

    +

    Parameters

    • mount: string

      The service's mount point, relative to the database.

      +
    • source: string | Blob | File

      The service bundle to install.

      +
    • options: UpgradeServiceOptions = {}

      Options for upgrading the service.

      +

    Returns Promise<ServiceInfo>

    Example

    const db = new Database();
    // Using a Buffer in Node.js as source
    const source = new Blob([await fs.readFileSync("./my-foxx-service.zip")]);
    const info = await db.upgradeService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a Blob in Node.js as source
    const source = await fs.openAsBlob("./my-foxx-service.zip");
    const info = await db.upgradeService("/hello", source); +
    +

    Example

    const db = new Database();
    // Using a File from a browser file input as source
    const element = document.getElementById("my-file-input");
    const source = element.files[0];
    const info = await db.upgradeService("/hello", source); +
    +
  • Updates the underlying connection's authorization header to use Basic +authentication with the given username and password, then returns +itself.

    +

    Parameters

    • username: string = "root"

      The username to authenticate with.

      +
    • password: string = ""

      The password to authenticate with.

      +

    Returns this

    Example

    const db = new Database();
    db.useBasicAuth("admin", "hunter2");
    // with the username "admin" and password "hunter2". +
    +
  • Updates the underlying connection's authorization header to use Bearer +authentication with the given authentication token, then returns itself.

    +

    Parameters

    • token: string

      The token to authenticate with.

      +

    Returns this

    Example

    const db = new Database();
    db.useBearerAuth("keyboardcat");
    // The database instance now uses Bearer authentication. +
    +
  • Fetches all databases accessible to the active user from the server and +returns an array of Database instances for those databases.

    +

    See also Database#listUserDatabases and +Database#databases.

    +

    Returns Promise<Database[]>

    Example

    const db = new Database();
    const names = await db.userDatabases();
    // databases is an array of databases +
    +
  • Fetches version information from the ArangoDB server.

    +

    Parameters

    • Optional details: boolean

      If set to true, additional information about the +ArangoDB server will be available as the details property.

      +

    Returns Promise<VersionInfo>

    Example

    const db = new Database();
    const version = await db.version();
    // the version object contains the ArangoDB version information.
    // license: "community" or "enterprise"
    // version: ArangoDB version number
    // server: description of the server +
    +
  • Returns a view.View instance for the given viewName.

    +

    Parameters

    • viewName: string

      Name of the ArangoSearch or SearchAlias View.

      +

    Returns View

    Example

    const db = new Database();
    const view = db.view("potatoes"); +
    +
  • Fetches all Views from the database and returns an array of +view.View instances +for the Views.

    +

    See also Database#listViews.

    +

    Returns Promise<View[]>

    Example

    const db = new Database();
    const views = await db.views();
    // views is an array of ArangoSearch View instances +
    +
  • Performs a request against every known coordinator and returns when the +request has succeeded against every coordinator or the timeout is reached.

    +

    Note: This method is primarily intended to make database setup easier +in cluster scenarios and requires all coordinators to be known to arangojs +before the method is invoked. The method is not useful in single-server or +leader-follower replication scenarios.

    +

    Parameters

    • request: RequestOptions

      Request to perform against each known coordinator.

      +
    • Optional timeout: number

      Maximum number of milliseconds to wait for propagation.

      +

    Returns Promise<void>

    Example

    const db = new Database({ loadBalancingStrategy: "ROUND_ROBIN" });
    await system.acquireHostList();
    const analyzer = db.analyzer("my-analyzer");
    await analyzer.create();
    await db.waitForPropagation(
    { path: `/_api/analyzer/${encodeURIComponent(analyzer.name)}` },
    30000
    );
    // Analyzer has been propagated to all coordinators and can safely be used +
    +
  • Begins and commits a transaction using the given callback. Individual +requests that are part of the transaction need to be wrapped in the step +function passed into the callback. If the promise returned by the callback +is rejected, the transaction will be aborted.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as +well as (in TypeScript) collection.DocumentCollection and +collection.EdgeCollection.

    +

    Type Parameters

    • T

    Parameters

    • collections: TransactionCollections

      Collections involved in the transaction.

      +
    • callback: ((step) => Promise<T>)

      Callback function executing the transaction steps.

      +
        • (step): Promise<T>
        • Parameters

          • step: (<T>(callback) => Promise<T>)
              • <T>(callback): Promise<T>
              • Executes the given function locally as a single step of the transaction.

                +

                Type Parameters

                • T

                  Type of the callback's returned promise.

                  +

                Parameters

                • callback: (() => Promise<T>)

                  Callback function returning a promise.

                  +

                  Warning: The callback function should wrap a single call of an async +arangojs method (e.g. a method on a Collection object of a collection +that is involved in the transaction or the db.query method). +If the callback function is async, only the first promise-returning (or +async) method call will be executed as part of the transaction. See the +examples below for how to avoid common mistakes when using this method.

                  +

                  Note: Avoid defining the callback as an async function if possible +as arangojs will throw an error if the callback did not return a promise. +Async functions will return an empty promise by default, making it harder +to notice if you forgot to return something from the callback.

                  +

                  Note: Although almost anything can be wrapped in a callback and passed +to this method, that does not guarantee ArangoDB can actually do it in a +transaction. Refer to the ArangoDB documentation if you are unsure whether +a given operation can be executed as part of a transaction. Generally any +modification or retrieval of data is eligible but modifications of +collections or databases are not.

                  +
                    • (): Promise<T>
                    • Returns Promise<T>

                Returns Promise<T>

                Example

                const db = new Database();
                const vertices = db.collection("vertices");
                const edges = db.collection("edges");
                const trx = await db.beginTransaction({ write: [vertices, edges] });

                // The following code will be part of the transaction
                const left = await trx.step(() => vertices.save({ label: "left" }));
                const right = await trx.step(() => vertices.save({ label: "right" }));

                // Results from preceding actions can be used normally
                await trx.step(() => edges.save({
                _from: left._id,
                _to: right._id,
                data: "potato"
                }));

                // Transaction must be committed for changes to take effected
                // Always call either trx.commit or trx.abort to end a transaction
                await trx.commit(); +
                +

                Example

                // BAD! If the callback is an async function it must only use await once!
                await trx.step(async () => {
                await collection.save(data);
                await collection.save(moreData); // WRONG
                });

                // BAD! Callback function must use only one arangojs call!
                await trx.step(() => {
                return collection.save(data)
                .then(() => collection.save(moreData)); // WRONG
                });

                // BETTER: Wrap every arangojs method call that should be part of the
                // transaction in a separate `trx.step` call
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData)); +
                +

                Example

                // BAD! If the callback is an async function it must not await before
                // calling an arangojs method!
                await trx.step(async () => {
                await doSomethingElse();
                return collection.save(data); // WRONG
                });

                // BAD! Any arangojs inside the callback must not happen inside a promise
                // method!
                await trx.step(() => {
                return doSomethingElse()
                .then(() => collection.save(data)); // WRONG
                });

                // BETTER: Perform any async logic needed outside the `trx.step` call
                await doSomethingElse();
                await trx.step(() => collection.save(data));

                // OKAY: You can perform async logic in the callback after the arangojs
                // method call as long as it does not involve additional arangojs method
                // calls, but this makes it easy to make mistakes later
                await trx.step(async () => {
                await collection.save(data);
                await doSomethingDifferent(); // no arangojs method calls allowed
                }); +
                +

                Example

                // BAD! The callback should not use any functions that themselves use any
                // arangojs methods!
                async function saveSomeData() {
                await collection.save(data);
                await collection.save(moreData);
                }
                await trx.step(() => saveSomeData()); // WRONG

                // BETTER: Pass the transaction to functions that need to call arangojs
                // methods inside a transaction
                async function saveSomeData(trx) {
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));
                }
                await saveSomeData(); // no `trx.step` call needed +
                +

                Example

                // BAD! You must wait for the promise to resolve (or await on the
                // `trx.step` call) before calling `trx.step` again!
                trx.step(() => collection.save(data)); // WRONG
                await trx.step(() => collection.save(moreData));

                // BAD! The trx.step callback can not make multiple calls to async arangojs
                // methods, not even using Promise.all!
                await trx.step(() => Promise.all([ // WRONG
                collection.save(data),
                collection.save(moreData),
                ]));

                // BAD! Multiple `trx.step` calls can not run in parallel!
                await Promise.all([ // WRONG
                trx.step(() => collection.save(data)),
                trx.step(() => collection.save(moreData)),
                ]));

                // BETTER: Always call `trx.step` sequentially, one after the other
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));

                // OKAY: The then callback can be used if async/await is not available
                trx.step(() => collection.save(data))
                .then(() => trx.step(() => collection.save(moreData))); +
                +

                Example

                // BAD! The callback will return an empty promise that resolves before
                // the inner arangojs method call has even talked to ArangoDB!
                await trx.step(async () => {
                collection.save(data); // WRONG
                });

                // BETTER: Use an arrow function so you don't forget to return
                await trx.step(() => collection.save(data));

                // OKAY: Remember to always return when using a function body
                await trx.step(() => {
                return collection.save(data); // easy to forget!
                });

                // OKAY: You do not have to use arrow functions but it helps
                await trx.step(function () {
                return collection.save(data);
                }); +
                +

                Example

                // BAD! You can not pass promises instead of a callback!
                await trx.step(collection.save(data)); // WRONG

                // BETTER: Wrap the code in a function and pass the function instead
                await trx.step(() => collection.save(data)); +
                +

                Example

                // WORSE: Calls to non-async arangojs methods don't need to be performed
                // as part of a transaction
                const collection = await trx.step(() => db.collection("my-documents"));

                // BETTER: If an arangojs method is not async and doesn't return promises,
                // call it without `trx.step`
                const collection = db.collection("my-documents"); +
                +

          Returns Promise<T>

    • Optional options: TransactionOptions

      Options for the transaction.

      +

    Returns Promise<T>

    Example

    const vertices = db.collection("vertices");
    const edges = db.collection("edges");
    await db.withTransaction(
    {
    read: ["vertices"],
    write: [edges] // collection instances can be passed directly
    },
    async (step) => {
    const start = await step(() => vertices.document("a"));
    const end = await step(() => vertices.document("b"));
    await step(() => edges.save({ _from: start._id, _to: end._id }));
    }
    ); +
    +
  • Begins and commits a transaction using the given callback. Individual +requests that are part of the transaction need to be wrapped in the step +function passed into the callback. If the promise returned by the callback +is rejected, the transaction will be aborted.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Type Parameters

    • T

    Parameters

    • collections: (string | ArangoCollection)[]

      Collections that can be read from and written to +during the transaction.

      +
    • callback: ((step) => Promise<T>)

      Callback function executing the transaction steps.

      +
        • (step): Promise<T>
        • Parameters

          • step: (<T>(callback) => Promise<T>)
              • <T>(callback): Promise<T>
              • Executes the given function locally as a single step of the transaction.

                +

                Type Parameters

                • T

                  Type of the callback's returned promise.

                  +

                Parameters

                • callback: (() => Promise<T>)

                  Callback function returning a promise.

                  +

                  Warning: The callback function should wrap a single call of an async +arangojs method (e.g. a method on a Collection object of a collection +that is involved in the transaction or the db.query method). +If the callback function is async, only the first promise-returning (or +async) method call will be executed as part of the transaction. See the +examples below for how to avoid common mistakes when using this method.

                  +

                  Note: Avoid defining the callback as an async function if possible +as arangojs will throw an error if the callback did not return a promise. +Async functions will return an empty promise by default, making it harder +to notice if you forgot to return something from the callback.

                  +

                  Note: Although almost anything can be wrapped in a callback and passed +to this method, that does not guarantee ArangoDB can actually do it in a +transaction. Refer to the ArangoDB documentation if you are unsure whether +a given operation can be executed as part of a transaction. Generally any +modification or retrieval of data is eligible but modifications of +collections or databases are not.

                  +
                    • (): Promise<T>
                    • Returns Promise<T>

                Returns Promise<T>

                Example

                const db = new Database();
                const vertices = db.collection("vertices");
                const edges = db.collection("edges");
                const trx = await db.beginTransaction({ write: [vertices, edges] });

                // The following code will be part of the transaction
                const left = await trx.step(() => vertices.save({ label: "left" }));
                const right = await trx.step(() => vertices.save({ label: "right" }));

                // Results from preceding actions can be used normally
                await trx.step(() => edges.save({
                _from: left._id,
                _to: right._id,
                data: "potato"
                }));

                // Transaction must be committed for changes to take effected
                // Always call either trx.commit or trx.abort to end a transaction
                await trx.commit(); +
                +

                Example

                // BAD! If the callback is an async function it must only use await once!
                await trx.step(async () => {
                await collection.save(data);
                await collection.save(moreData); // WRONG
                });

                // BAD! Callback function must use only one arangojs call!
                await trx.step(() => {
                return collection.save(data)
                .then(() => collection.save(moreData)); // WRONG
                });

                // BETTER: Wrap every arangojs method call that should be part of the
                // transaction in a separate `trx.step` call
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData)); +
                +

                Example

                // BAD! If the callback is an async function it must not await before
                // calling an arangojs method!
                await trx.step(async () => {
                await doSomethingElse();
                return collection.save(data); // WRONG
                });

                // BAD! Any arangojs inside the callback must not happen inside a promise
                // method!
                await trx.step(() => {
                return doSomethingElse()
                .then(() => collection.save(data)); // WRONG
                });

                // BETTER: Perform any async logic needed outside the `trx.step` call
                await doSomethingElse();
                await trx.step(() => collection.save(data));

                // OKAY: You can perform async logic in the callback after the arangojs
                // method call as long as it does not involve additional arangojs method
                // calls, but this makes it easy to make mistakes later
                await trx.step(async () => {
                await collection.save(data);
                await doSomethingDifferent(); // no arangojs method calls allowed
                }); +
                +

                Example

                // BAD! The callback should not use any functions that themselves use any
                // arangojs methods!
                async function saveSomeData() {
                await collection.save(data);
                await collection.save(moreData);
                }
                await trx.step(() => saveSomeData()); // WRONG

                // BETTER: Pass the transaction to functions that need to call arangojs
                // methods inside a transaction
                async function saveSomeData(trx) {
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));
                }
                await saveSomeData(); // no `trx.step` call needed +
                +

                Example

                // BAD! You must wait for the promise to resolve (or await on the
                // `trx.step` call) before calling `trx.step` again!
                trx.step(() => collection.save(data)); // WRONG
                await trx.step(() => collection.save(moreData));

                // BAD! The trx.step callback can not make multiple calls to async arangojs
                // methods, not even using Promise.all!
                await trx.step(() => Promise.all([ // WRONG
                collection.save(data),
                collection.save(moreData),
                ]));

                // BAD! Multiple `trx.step` calls can not run in parallel!
                await Promise.all([ // WRONG
                trx.step(() => collection.save(data)),
                trx.step(() => collection.save(moreData)),
                ]));

                // BETTER: Always call `trx.step` sequentially, one after the other
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));

                // OKAY: The then callback can be used if async/await is not available
                trx.step(() => collection.save(data))
                .then(() => trx.step(() => collection.save(moreData))); +
                +

                Example

                // BAD! The callback will return an empty promise that resolves before
                // the inner arangojs method call has even talked to ArangoDB!
                await trx.step(async () => {
                collection.save(data); // WRONG
                });

                // BETTER: Use an arrow function so you don't forget to return
                await trx.step(() => collection.save(data));

                // OKAY: Remember to always return when using a function body
                await trx.step(() => {
                return collection.save(data); // easy to forget!
                });

                // OKAY: You do not have to use arrow functions but it helps
                await trx.step(function () {
                return collection.save(data);
                }); +
                +

                Example

                // BAD! You can not pass promises instead of a callback!
                await trx.step(collection.save(data)); // WRONG

                // BETTER: Wrap the code in a function and pass the function instead
                await trx.step(() => collection.save(data)); +
                +

                Example

                // WORSE: Calls to non-async arangojs methods don't need to be performed
                // as part of a transaction
                const collection = await trx.step(() => db.collection("my-documents"));

                // BETTER: If an arangojs method is not async and doesn't return promises,
                // call it without `trx.step`
                const collection = db.collection("my-documents"); +
                +

          Returns Promise<T>

    • Optional options: TransactionOptions

      Options for the transaction.

      +

    Returns Promise<T>

    Example

    const vertices = db.collection("vertices");
    const edges = db.collection("edges");
    await db.withTransaction(
    [
    "vertices",
    edges, // collection instances can be passed directly
    ],
    async (step) => {
    const start = await step(() => vertices.document("a"));
    const end = await step(() => vertices.document("b"));
    await step(() => edges.save({ _from: start._id, _to: end._id }));
    }
    ); +
    +
  • Begins and commits a transaction using the given callback. Individual +requests that are part of the transaction need to be wrapped in the step +function passed into the callback. If the promise returned by the callback +is rejected, the transaction will be aborted.

    +

    The Collection can be specified as a collection name (string) or an object +implementing the collection.ArangoCollection interface: Collection, +graph.GraphVertexCollection, graph.GraphEdgeCollection as well as +(in TypeScript) collection.DocumentCollection and collection.EdgeCollection.

    +

    Type Parameters

    • T

    Parameters

    • collection: string | ArangoCollection

      A collection that can be read from and written to +during the transaction.

      +
    • callback: ((step) => Promise<T>)

      Callback function executing the transaction steps.

      +
        • (step): Promise<T>
        • Parameters

          • step: (<T>(callback) => Promise<T>)
              • <T>(callback): Promise<T>
              • Executes the given function locally as a single step of the transaction.

                +

                Type Parameters

                • T

                  Type of the callback's returned promise.

                  +

                Parameters

                • callback: (() => Promise<T>)

                  Callback function returning a promise.

                  +

                  Warning: The callback function should wrap a single call of an async +arangojs method (e.g. a method on a Collection object of a collection +that is involved in the transaction or the db.query method). +If the callback function is async, only the first promise-returning (or +async) method call will be executed as part of the transaction. See the +examples below for how to avoid common mistakes when using this method.

                  +

                  Note: Avoid defining the callback as an async function if possible +as arangojs will throw an error if the callback did not return a promise. +Async functions will return an empty promise by default, making it harder +to notice if you forgot to return something from the callback.

                  +

                  Note: Although almost anything can be wrapped in a callback and passed +to this method, that does not guarantee ArangoDB can actually do it in a +transaction. Refer to the ArangoDB documentation if you are unsure whether +a given operation can be executed as part of a transaction. Generally any +modification or retrieval of data is eligible but modifications of +collections or databases are not.

                  +
                    • (): Promise<T>
                    • Returns Promise<T>

                Returns Promise<T>

                Example

                const db = new Database();
                const vertices = db.collection("vertices");
                const edges = db.collection("edges");
                const trx = await db.beginTransaction({ write: [vertices, edges] });

                // The following code will be part of the transaction
                const left = await trx.step(() => vertices.save({ label: "left" }));
                const right = await trx.step(() => vertices.save({ label: "right" }));

                // Results from preceding actions can be used normally
                await trx.step(() => edges.save({
                _from: left._id,
                _to: right._id,
                data: "potato"
                }));

                // Transaction must be committed for changes to take effected
                // Always call either trx.commit or trx.abort to end a transaction
                await trx.commit(); +
                +

                Example

                // BAD! If the callback is an async function it must only use await once!
                await trx.step(async () => {
                await collection.save(data);
                await collection.save(moreData); // WRONG
                });

                // BAD! Callback function must use only one arangojs call!
                await trx.step(() => {
                return collection.save(data)
                .then(() => collection.save(moreData)); // WRONG
                });

                // BETTER: Wrap every arangojs method call that should be part of the
                // transaction in a separate `trx.step` call
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData)); +
                +

                Example

                // BAD! If the callback is an async function it must not await before
                // calling an arangojs method!
                await trx.step(async () => {
                await doSomethingElse();
                return collection.save(data); // WRONG
                });

                // BAD! Any arangojs inside the callback must not happen inside a promise
                // method!
                await trx.step(() => {
                return doSomethingElse()
                .then(() => collection.save(data)); // WRONG
                });

                // BETTER: Perform any async logic needed outside the `trx.step` call
                await doSomethingElse();
                await trx.step(() => collection.save(data));

                // OKAY: You can perform async logic in the callback after the arangojs
                // method call as long as it does not involve additional arangojs method
                // calls, but this makes it easy to make mistakes later
                await trx.step(async () => {
                await collection.save(data);
                await doSomethingDifferent(); // no arangojs method calls allowed
                }); +
                +

                Example

                // BAD! The callback should not use any functions that themselves use any
                // arangojs methods!
                async function saveSomeData() {
                await collection.save(data);
                await collection.save(moreData);
                }
                await trx.step(() => saveSomeData()); // WRONG

                // BETTER: Pass the transaction to functions that need to call arangojs
                // methods inside a transaction
                async function saveSomeData(trx) {
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));
                }
                await saveSomeData(); // no `trx.step` call needed +
                +

                Example

                // BAD! You must wait for the promise to resolve (or await on the
                // `trx.step` call) before calling `trx.step` again!
                trx.step(() => collection.save(data)); // WRONG
                await trx.step(() => collection.save(moreData));

                // BAD! The trx.step callback can not make multiple calls to async arangojs
                // methods, not even using Promise.all!
                await trx.step(() => Promise.all([ // WRONG
                collection.save(data),
                collection.save(moreData),
                ]));

                // BAD! Multiple `trx.step` calls can not run in parallel!
                await Promise.all([ // WRONG
                trx.step(() => collection.save(data)),
                trx.step(() => collection.save(moreData)),
                ]));

                // BETTER: Always call `trx.step` sequentially, one after the other
                await trx.step(() => collection.save(data));
                await trx.step(() => collection.save(moreData));

                // OKAY: The then callback can be used if async/await is not available
                trx.step(() => collection.save(data))
                .then(() => trx.step(() => collection.save(moreData))); +
                +

                Example

                // BAD! The callback will return an empty promise that resolves before
                // the inner arangojs method call has even talked to ArangoDB!
                await trx.step(async () => {
                collection.save(data); // WRONG
                });

                // BETTER: Use an arrow function so you don't forget to return
                await trx.step(() => collection.save(data));

                // OKAY: Remember to always return when using a function body
                await trx.step(() => {
                return collection.save(data); // easy to forget!
                });

                // OKAY: You do not have to use arrow functions but it helps
                await trx.step(function () {
                return collection.save(data);
                }); +
                +

                Example

                // BAD! You can not pass promises instead of a callback!
                await trx.step(collection.save(data)); // WRONG

                // BETTER: Wrap the code in a function and pass the function instead
                await trx.step(() => collection.save(data)); +
                +

                Example

                // WORSE: Calls to non-async arangojs methods don't need to be performed
                // as part of a transaction
                const collection = await trx.step(() => db.collection("my-documents"));

                // BETTER: If an arangojs method is not async and doesn't return promises,
                // call it without `trx.step`
                const collection = db.collection("my-documents"); +
                +

          Returns Promise<T>

    • Optional options: TransactionOptions

      Options for the transaction.

      +

    Returns Promise<T>

    Example

    const vertices = db.collection("vertices");
    const start = vertices.document("a");
    const end = vertices.document("b");
    const edges = db.collection("edges");
    await db.withTransaction(
    edges, // collection instances can be passed directly
    async (step) => {
    await step(() => edges.save({ _from: start._id, _to: end._id }));
    }
    ); +
    +
\ No newline at end of file diff --git a/9.1.0/classes/error.ArangoError.html b/9.1.0/classes/error.ArangoError.html new file mode 100644 index 00000000..cb05a416 --- /dev/null +++ b/9.1.0/classes/error.ArangoError.html @@ -0,0 +1,17 @@ +ArangoError | arangojs - v9.1.0

Class ArangoError

Represents an error returned by ArangoDB.

+

Hierarchy

  • Error
    • ArangoError

Properties

code: number

HTTP status code included in the server error response object.

+
errorNum: number

ArangoDB error code.

+

See ArangoDB error documentation.

+
name: string = "ArangoError"
response: any

Server response object.

+
prepareStackTrace?: ((err, stackTraces) => any)

Optional override for formatting stack traces

+

Type declaration

    • (err, stackTraces): any
    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any

stackTraceLimit: number

Methods

  • Returns {
        code: number;
        error: boolean;
        errorMessage: string;
        errorNum: number;
    }

    • code: number
    • error: boolean
    • errorMessage: string
    • errorNum: number
  • Create .stack property on a target object

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/9.1.0/classes/error.HttpError.html b/9.1.0/classes/error.HttpError.html new file mode 100644 index 00000000..21da89e0 --- /dev/null +++ b/9.1.0/classes/error.HttpError.html @@ -0,0 +1,14 @@ +HttpError | arangojs - v9.1.0

Class HttpError

Represents a plain HTTP error response.

+

Hierarchy

  • Error
    • HttpError

Properties

code: number

HTTP status code of the server response.

+
name: string = "HttpError"
response: any

Server response object.

+
prepareStackTrace?: ((err, stackTraces) => any)

Optional override for formatting stack traces

+

Type declaration

    • (err, stackTraces): any
    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any

stackTraceLimit: number

Methods

  • Returns {
        code: number;
        error: boolean;
    }

    • code: number
    • error: boolean
  • Create .stack property on a target object

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/9.1.0/classes/graph.Graph.html b/9.1.0/classes/graph.Graph.html new file mode 100644 index 00000000..8a3ee860 --- /dev/null +++ b/9.1.0/classes/graph.Graph.html @@ -0,0 +1,97 @@ +Graph | arangojs - v9.1.0

Represents a graph in a database.Database.

+

Accessors

  • get name(): string
  • Name of the graph.

    +

    Returns string

Methods

  • Adds an edge definition to this graph.

    +

    Parameters

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.addEdgeDefinition({
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    });
    // The edge definition has been added to the graph +
    +
  • Adds the given collection to this graph as a vertex collection.

    +

    Parameters

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.addVertexCollection("more-vertices");
    // The collection "more-vertices" has been added to the graph
    const extra = db.collection("extra-vertices");
    await graph.addVertexCollection(extra);
    // The collection "extra-vertices" has been added to the graph +
    +
  • Creates a graph with the given edgeDefinitions and options for this +graph's name.

    +

    Parameters

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    // graph now exists +
    +
  • Deletes the graph from the database.

    +

    Parameters

    • dropCollections: boolean = false

      If set to true, the collections associated with +the graph will also be deleted.

      +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    await graph.drop();
    // the graph "some-graph" no longer exists +
    +
  • Returns a graph.GraphEdgeCollection instance for the given collection +name representing the collection in this graph.

    +

    Type Parameters

    • T extends Record<string, any> = any

      Type to use for document data. Defaults to any.

      +

    Parameters

    Returns GraphEdgeCollection<T>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    const graphEdgeCollection = graph.edgeCollection("edges");
    // Access the underlying EdgeCollection API:
    const edgeCollection = graphEdgeCollection.collection; +
    +
  • Fetches all edge collections of this graph from the database and returns +an array of graph.GraphEdgeCollection instances.

    +

    See also graph.Graph#listEdgeCollections.

    +

    Returns Promise<GraphEdgeCollection<any>[]>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    const graphEdgeCollections = await graph.edgeCollections();
    for (const collection of graphEdgeCollection) {
    console.log(collection.name);
    // "edges"
    } +
    +
  • Checks whether the graph exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const result = await graph.exists();
    // result indicates whether the graph exists +
    +
  • Retrieves general information about the graph.

    +

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const data = await graph.get();
    // data contains general information about the graph +
    +
  • Fetches all edge collections of this graph from the database and returns +an array of their names.

    +

    See also graph.Graph#edgeCollections.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    const edgeCollectionNames = await graph.listEdgeCollections();
    // ["edges"] +
    +
  • Fetches all vertex collections of this graph from the database and returns +an array of their names.

    +

    See also graph.Graph#vertexCollections.

    +

    Returns Promise<string[]>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    const vertexCollectionNames = await graph.listVertexCollections();
    // ["start-vertices", "end-vertices"] +
    +
  • Removes the edge definition for the given edge collection from this graph.

    +

    Parameters

    • collection: string | ArangoCollection

      Edge collection for which to remove the definition.

      +
    • dropCollection: boolean = false

      If set to true, the collection will also be +deleted from the database.

      +

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    await graph.removeEdgeDefinition("edges");
    // The edge definition for "edges" has been replaced +
    +
  • Removes the given collection from this graph as a vertex collection.

    +

    Parameters

    • collection: string | ArangoCollection

      Collection to remove from the graph.

      +
    • dropCollection: boolean = false

      If set to true, the collection will also be +deleted from the database.

      +

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    await graph.removeVertexCollection("start-vertices");
    // The collection "start-vertices" is no longer part of the graph. +
    +
  • Replaces an edge definition in this graph. The existing edge definition +for the given edge collection will be overwritten.

    +

    Parameters

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    await graph.replaceEdgeDefinition({
    collection: "edges",
    from: ["start-vertices"],
    to: ["other-vertices"],
    });
    // The edge definition for "edges" has been replaced +
    +
  • Replaces an edge definition in this graph. The existing edge definition +for the given edge collection will be overwritten.

    +

    Parameters

    Returns Promise<GraphInfo>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    await graph.replaceEdgeDefinition("edges", {
    collection: "edges",
    from: ["start-vertices"],
    to: ["other-vertices"],
    });
    // The edge definition for "edges" has been replaced +
    +
  • Fetches all vertex collections of this graph from the database and returns +an array of graph.GraphVertexCollection instances.

    +

    See also graph.Graph#listVertexCollections.

    +

    Returns Promise<GraphVertexCollection<any>[]>

    Example

    const db = new Database();
    const graph = db.graph("some-graph");
    const info = await graph.create([
    {
    collection: "edges",
    from: ["start-vertices"],
    to: ["end-vertices"],
    },
    ]);
    const vertexCollections = await graph.vertexCollections();
    for (const vertexCollection of vertexCollections) {
    console.log(vertexCollection.name);
    // "start-vertices"
    // "end-vertices"
    } +
    +
\ No newline at end of file diff --git a/9.1.0/classes/graph.GraphEdgeCollection.html b/9.1.0/classes/graph.GraphEdgeCollection.html new file mode 100644 index 00000000..ec195d62 --- /dev/null +++ b/9.1.0/classes/graph.GraphEdgeCollection.html @@ -0,0 +1,73 @@ +GraphEdgeCollection | arangojs - v9.1.0

Class GraphEdgeCollection<T>

Represents a collection.EdgeCollection of edges in a graph.Graph.

+

Type Parameters

  • T extends Record<string, any> = any

    Type to use for document data. Defaults to any.

    +

Implements

Accessors

  • get graph(): Graph
  • The graph.Graph instance this edge collection is bound to.

    +

    Returns Graph

  • get name(): string
  • Name of the collection.

    +

    Returns string

Methods

  • Retrieves the edge matching the given key or id.

    +

    Throws an exception when passed a edge or _id from a different +collection, or if the edge does not exist.

    +

    Parameters

    Returns Promise<Edge<T>>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.edgeCollection("friends")
    try {
    const edge = await collection.edge("abc123");
    console.log(edge);
    } catch (e: any) {
    console.error("Could not find edge");
    } +
    +

    Example

    const graph = db.graph("some-graph");
    const collection = graph.edgeCollection("friends")
    const edge = await collection.edge("abc123", { graceful: true });
    if (edge) {
    console.log(edge);
    } else {
    console.error("Edge does not exist");
    } +
    +
  • Retrieves the edge matching the given key or id.

    +

    Throws an exception when passed a edge or _id from a different +collection, or if the edge does not exist.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a edge from this collection).

      +
    • graceful: boolean

      If set to true, null is returned instead of an +exception being thrown if the edge does not exist.

      +

    Returns Promise<Edge<T>>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.edgeCollection("friends")
    try {
    const edge = await collection.edge("abc123", false);
    console.log(edge);
    } catch (e: any) {
    console.error("Could not find edge");
    } +
    +

    Example

    const graph = db.graph("some-graph");
    const collection = graph.edgeCollection("friends")
    const edge = await collection.edge("abc123", true);
    if (edge) {
    console.log(edge);
    } else {
    console.error("Edge does not exist");
    } +
    +
  • Checks whether a edge matching the given key or id exists in this +collection.

    +

    Throws an exception when passed a edge or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a edge from this collection).

      +

    Returns Promise<boolean>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.edgeCollection("friends")
    const exists = await collection.edgeExists("abc123");
    if (!exists) {
    console.log("Edge does not exist");
    } +
    +
  • Removes an existing edge from the collection.

    +

    Throws an exception when passed a edge or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        old?: Edge<T>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    const doc = await collection.edge("musadir");
    await collection.remove(doc);
    // edge with key "musadir" deleted +
    +
  • Replaces an existing edge in the collection.

    +

    Throws an exception when passed a edge or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Edge<T>;
        old?: Edge<T>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.save(
    {
    _key: "musadir",
    _from: "users/rana",
    _to: "users/mudasir",
    active: true,
    best: true
    }
    );
    const result = await collection.replace(
    "musadir",
    { active: false },
    { returnNew: true }
    );
    console.log(result.new.active, result.new.best); // false undefined +
    +
  • Inserts a new edge with the given data into the collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Edge<T>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    const result = await collection.save(
    { _from: "users/rana", _to: "users/mudasir", active: false },
    { returnNew: true }
    ); +
    +
  • Updates an existing edge in the collection.

    +

    Throws an exception when passed a edge or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Edge<T>;
        old?: Edge<T>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.save(
    {
    _key: "musadir",
    _from: "users/rana",
    _to: "users/mudasir",
    active: true,
    best: true
    }
    );
    const result = await collection.update(
    "musadir",
    { active: false },
    { returnNew: true }
    );
    console.log(result.new.active, result.new.best); // false true +
    +
\ No newline at end of file diff --git a/9.1.0/classes/graph.GraphVertexCollection.html b/9.1.0/classes/graph.GraphVertexCollection.html new file mode 100644 index 00000000..c20fdfa9 --- /dev/null +++ b/9.1.0/classes/graph.GraphVertexCollection.html @@ -0,0 +1,75 @@ +GraphVertexCollection | arangojs - v9.1.0

Class GraphVertexCollection<T>

Represents a collection.DocumentCollection of vertices in a graph.Graph.

+

Type Parameters

  • T extends Record<string, any> = any

    Type to use for document data. Defaults to any.

    +

Implements

Accessors

  • get graph(): Graph
  • The graph.Graph instance this vertex collection is bound to.

    +

    Returns Graph

  • get name(): string
  • Name of the collection.

    +

    Returns string

Methods

  • Removes an existing vertex from the collection.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        old?: Document<T>;
    }>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    await collection.remove("abc123");
    // document with key "abc123" deleted +
    +

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    const doc = await collection.vertex("abc123");
    await collection.remove(doc);
    // document with key "abc123" deleted +
    +
  • Replaces an existing vertex in the collection.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Document<T>;
        old?: Document<T>;
    }>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.collection("vertices");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    const result = await collection.replace(
    "a",
    { color: "red" },
    { returnNew: true }
    );
    console.log(result.new.color, result.new.count); // "red" undefined +
    +
  • Inserts a new vertex with the given data into the collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Document<T>;
    }>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("friends");
    const result = await collection.save(
    { _key: "a", color: "blue", count: 1 },
    { returnNew: true }
    );
    console.log(result.new.color, result.new.count); // "blue" 1 +
    +
  • Updates an existing vertex in the collection.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        new?: Document<T>;
        old?: Document<T>;
    }>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.collection("vertices");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    const result = await collection.update(
    "a",
    { count: 2 },
    { returnNew: true }
    );
    console.log(result.new.color, result.new.count); // "blue" 2 +
    +
  • Retrieves the vertex matching the given key or id.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    Returns Promise<Document<T>>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    try {
    const vertex = await collection.vertex("abc123");
    console.log(vertex);
    } catch (e: any) {
    console.error("Could not find vertex");
    } +
    +

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    const vertex = await collection.vertex("abc123", { graceful: true });
    if (vertex) {
    console.log(vertex);
    } else {
    console.error("Could not find vertex");
    } +
    +
  • Retrieves the vertex matching the given key or id.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a vertex from this collection).

      +
    • graceful: boolean

      If set to true, null is returned instead of an +exception being thrown if the vertex does not exist.

      +

    Returns Promise<Document<T>>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    try {
    const vertex = await collection.vertex("abc123", false);
    console.log(vertex);
    } catch (e: any) {
    console.error("Could not find vertex");
    } +
    +

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    const vertex = await collection.vertex("abc123", true);
    if (vertex) {
    console.log(vertex);
    } else {
    console.error("Could not find vertex");
    } +
    +
  • Checks whether a vertex matching the given key or id exists in this +collection.

    +

    Throws an exception when passed a vertex or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a vertex from this collection).

      +

    Returns Promise<boolean>

    Example

    const graph = db.graph("some-graph");
    const collection = graph.vertexCollection("vertices");
    const exists = await collection.vertexExists("abc123");
    if (!exists) {
    console.log("Vertex does not exist");
    } +
    +
\ No newline at end of file diff --git a/9.1.0/classes/job.Job.html b/9.1.0/classes/job.Job.html new file mode 100644 index 00000000..216ee9c2 --- /dev/null +++ b/9.1.0/classes/job.Job.html @@ -0,0 +1,23 @@ +Job | arangojs - v9.1.0

Class Job<T>

Represents an async job in a database.Database.

+

Type Parameters

  • T = any

Accessors

  • get id(): string
  • The job's ID.

    +

    Returns string

  • get isLoaded(): boolean
  • Whether the job's results have been loaded. If set to true, the job's +result can be accessed from Job.result.

    +

    Returns boolean

  • get result(): undefined | T
  • The job's result if it has been loaded or undefined otherwise.

    +

    Returns undefined | T

Methods

  • Cancels the job if it is still running. Note that it may take some time to +actually cancel the job.

    +

    Returns Promise<void>

  • Deletes the result if it has not already been retrieved or deleted.

    +

    Returns Promise<void>

  • Fetches the job's completion state.

    +

    Returns true if the job has completed, false otherwise.

    +

    Returns Promise<boolean>

    Example

    // poll for the job to complete
    while (!(await job.getCompleted())) {
    await timeout(1000);
    }
    // job result is now available and can be loaded
    await job.load();
    console.log(job.result); +
    +
  • Loads the job's result from the database if it is not already loaded.

    +

    Returns Promise<undefined | T>

    Example

    // poll for the job to complete
    while (!job.isLoaded) {
    await timeout(1000);
    const result = await job.load();
    console.log(result);
    }
    // job result is now loaded and can also be accessed from job.result
    console.log(job.result); +
    +
\ No newline at end of file diff --git a/9.1.0/classes/route.Route.html b/9.1.0/classes/route.Route.html new file mode 100644 index 00000000..771d8d7f --- /dev/null +++ b/9.1.0/classes/route.Route.html @@ -0,0 +1,108 @@ +Route | arangojs - v9.1.0

Represents an arbitrary route relative to an ArangoDB database.

+

Methods

  • Performs a DELETE request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.delete("/users/admin"); +
    +
  • Performs a DELETE request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const user = foxx.roue("/users/admin");
    const res = await user.delete(); +
    +
  • Performs a GET request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.get("/users", { offset: 10, limit: 5 }); +
    +
  • Performs a GET request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const users = foxx.route("/users");
    const res = await users.get({ offset: 10, limit: 5 }); +
    +
  • Performs a HEAD request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.head("/users", { offset: 10, limit: 5 }); +
    +
  • Performs a HEAD request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const users = foxx.route("/users");
    const res = await users.head({ offset: 10, limit: 5 }); +
    +
  • Performs a PATCH request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional body: any

      Body of the request object.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.patch("/users/admin", { password: "admin" }); +
    +
  • Performs a PATCH request against the given path relative to this route +and returns the server response.

    +

    Note: body must not be a string.

    +

    Parameters

    • Optional body: any

      Body of the request object. Must not be a string.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const user = foxx.route("/users/admin")
    const res = await user.patch({ password: "admin" }); +
    +
  • Performs a POST request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional body: any

      Body of the request object.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.post("/users", {
    username: "admin",
    password: "hunter2"
    }); +
    +
  • Performs a POST request against the given path relative to this route +and returns the server response.

    +

    Note: body must not be a string.

    +

    Parameters

    • Optional body: any

      Body of the request object. Must not be a string.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const users = foxx.route("/users");
    const res = await users.post({
    username: "admin",
    password: "hunter2"
    }); +
    +
  • Performs a PUT request against the given path relative to this route +and returns the server response.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional body: any

      Body of the request object.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.put("/users/admin/password", { password: "admin" }); +
    +
  • Performs a PUT request against the given path relative to this route +and returns the server response.

    +

    Note: body must not be a string.

    +

    Parameters

    • Optional body: any

      Body of the request object. Must not be a string.

      +
    • Optional search: Record<string, any> | URLSearchParams

      Query string parameters for this request.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers to send with this request.

      +

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const password = foxx.route("/users/admin/password");
    const res = await password.put({ password: "admin" }); +
    +
  • Performs an arbitrary HTTP request relative to this route and returns the +server response.

    +

    Parameters

    Returns Promise<ArangojsResponse>

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const res = await foxx.request({
    method: "POST",
    path: "/users",
    body: {
    username: "admin",
    password: "hunter2"
    }
    }); +
    +
  • Creates a new route relative to this route that inherits any of its default +HTTP headers.

    +

    Parameters

    • path: string

      Path relative to this route.

      +
    • Optional headers: Headers | Record<string, string>

      Additional headers that will be sent with each request.

      +

    Returns Route

    Example

    const db = new Database();
    const foxx = db.route("/my-foxx-service");
    const users = foxx.route("/users"); +
    +
\ No newline at end of file diff --git a/9.1.0/classes/transaction.Transaction.html b/9.1.0/classes/transaction.Transaction.html new file mode 100644 index 00000000..0476dd9b --- /dev/null +++ b/9.1.0/classes/transaction.Transaction.html @@ -0,0 +1,59 @@ +Transaction | arangojs - v9.1.0

Represents a streaming transaction in a database.Database.

+

Accessors

id +

Methods

Accessors

Methods

  • Attempts to abort the transaction to the databases.

    +

    Parameters

    Returns Promise<TransactionStatus>

    Example

    const db = new Database();
    const col = db.collection("some-collection");
    const trx = db.beginTransaction(col);
    await trx.step(() => col.save({ hello: "world" }));
    const result = await trx.abort();
    // result indicates the updated transaction status +
    +
  • Attempts to commit the transaction to the databases.

    +

    Parameters

    Returns Promise<TransactionStatus>

    Example

    const db = new Database();
    const col = db.collection("some-collection");
    const trx = db.beginTransaction(col);
    await trx.step(() => col.save({ hello: "world" }));
    const result = await trx.commit();
    // result indicates the updated transaction status +
    +
  • Checks whether the transaction exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const trx = db.transaction("some-transaction");
    const result = await trx.exists();
    // result indicates whether the transaction exists +
    +
  • Retrieves general information about the transaction.

    +

    Returns Promise<TransactionStatus>

    Example

    const db = new Database();
    const col = db.collection("some-collection");
    const trx = db.beginTransaction(col);
    await trx.step(() => col.save({ hello: "world" }));
    const info = await trx.get();
    // the transaction exists +
    +
  • Executes the given function locally as a single step of the transaction.

    +

    Type Parameters

    • T

      Type of the callback's returned promise.

      +

    Parameters

    • callback: (() => Promise<T>)

      Callback function returning a promise.

      +

      Warning: The callback function should wrap a single call of an async +arangojs method (e.g. a method on a Collection object of a collection +that is involved in the transaction or the db.query method). +If the callback function is async, only the first promise-returning (or +async) method call will be executed as part of the transaction. See the +examples below for how to avoid common mistakes when using this method.

      +

      Note: Avoid defining the callback as an async function if possible +as arangojs will throw an error if the callback did not return a promise. +Async functions will return an empty promise by default, making it harder +to notice if you forgot to return something from the callback.

      +

      Note: Although almost anything can be wrapped in a callback and passed +to this method, that does not guarantee ArangoDB can actually do it in a +transaction. Refer to the ArangoDB documentation if you are unsure whether +a given operation can be executed as part of a transaction. Generally any +modification or retrieval of data is eligible but modifications of +collections or databases are not.

      +
        • (): Promise<T>
        • Returns Promise<T>

    Returns Promise<T>

    Example

    const db = new Database();
    const vertices = db.collection("vertices");
    const edges = db.collection("edges");
    const trx = await db.beginTransaction({ write: [vertices, edges] });

    // The following code will be part of the transaction
    const left = await trx.step(() => vertices.save({ label: "left" }));
    const right = await trx.step(() => vertices.save({ label: "right" }));

    // Results from preceding actions can be used normally
    await trx.step(() => edges.save({
    _from: left._id,
    _to: right._id,
    data: "potato"
    }));

    // Transaction must be committed for changes to take effected
    // Always call either trx.commit or trx.abort to end a transaction
    await trx.commit(); +
    +

    Example

    // BAD! If the callback is an async function it must only use await once!
    await trx.step(async () => {
    await collection.save(data);
    await collection.save(moreData); // WRONG
    });

    // BAD! Callback function must use only one arangojs call!
    await trx.step(() => {
    return collection.save(data)
    .then(() => collection.save(moreData)); // WRONG
    });

    // BETTER: Wrap every arangojs method call that should be part of the
    // transaction in a separate `trx.step` call
    await trx.step(() => collection.save(data));
    await trx.step(() => collection.save(moreData)); +
    +

    Example

    // BAD! If the callback is an async function it must not await before
    // calling an arangojs method!
    await trx.step(async () => {
    await doSomethingElse();
    return collection.save(data); // WRONG
    });

    // BAD! Any arangojs inside the callback must not happen inside a promise
    // method!
    await trx.step(() => {
    return doSomethingElse()
    .then(() => collection.save(data)); // WRONG
    });

    // BETTER: Perform any async logic needed outside the `trx.step` call
    await doSomethingElse();
    await trx.step(() => collection.save(data));

    // OKAY: You can perform async logic in the callback after the arangojs
    // method call as long as it does not involve additional arangojs method
    // calls, but this makes it easy to make mistakes later
    await trx.step(async () => {
    await collection.save(data);
    await doSomethingDifferent(); // no arangojs method calls allowed
    }); +
    +

    Example

    // BAD! The callback should not use any functions that themselves use any
    // arangojs methods!
    async function saveSomeData() {
    await collection.save(data);
    await collection.save(moreData);
    }
    await trx.step(() => saveSomeData()); // WRONG

    // BETTER: Pass the transaction to functions that need to call arangojs
    // methods inside a transaction
    async function saveSomeData(trx) {
    await trx.step(() => collection.save(data));
    await trx.step(() => collection.save(moreData));
    }
    await saveSomeData(); // no `trx.step` call needed +
    +

    Example

    // BAD! You must wait for the promise to resolve (or await on the
    // `trx.step` call) before calling `trx.step` again!
    trx.step(() => collection.save(data)); // WRONG
    await trx.step(() => collection.save(moreData));

    // BAD! The trx.step callback can not make multiple calls to async arangojs
    // methods, not even using Promise.all!
    await trx.step(() => Promise.all([ // WRONG
    collection.save(data),
    collection.save(moreData),
    ]));

    // BAD! Multiple `trx.step` calls can not run in parallel!
    await Promise.all([ // WRONG
    trx.step(() => collection.save(data)),
    trx.step(() => collection.save(moreData)),
    ]));

    // BETTER: Always call `trx.step` sequentially, one after the other
    await trx.step(() => collection.save(data));
    await trx.step(() => collection.save(moreData));

    // OKAY: The then callback can be used if async/await is not available
    trx.step(() => collection.save(data))
    .then(() => trx.step(() => collection.save(moreData))); +
    +

    Example

    // BAD! The callback will return an empty promise that resolves before
    // the inner arangojs method call has even talked to ArangoDB!
    await trx.step(async () => {
    collection.save(data); // WRONG
    });

    // BETTER: Use an arrow function so you don't forget to return
    await trx.step(() => collection.save(data));

    // OKAY: Remember to always return when using a function body
    await trx.step(() => {
    return collection.save(data); // easy to forget!
    });

    // OKAY: You do not have to use arrow functions but it helps
    await trx.step(function () {
    return collection.save(data);
    }); +
    +

    Example

    // BAD! You can not pass promises instead of a callback!
    await trx.step(collection.save(data)); // WRONG

    // BETTER: Wrap the code in a function and pass the function instead
    await trx.step(() => collection.save(data)); +
    +

    Example

    // WORSE: Calls to non-async arangojs methods don't need to be performed
    // as part of a transaction
    const collection = await trx.step(() => db.collection("my-documents"));

    // BETTER: If an arangojs method is not async and doesn't return promises,
    // call it without `trx.step`
    const collection = db.collection("my-documents"); +
    +
\ No newline at end of file diff --git a/9.1.0/classes/view.View.html b/9.1.0/classes/view.View.html new file mode 100644 index 00000000..517b45d6 --- /dev/null +++ b/9.1.0/classes/view.View.html @@ -0,0 +1,44 @@ +View | arangojs - v9.1.0

Represents a View in a database.Database.

+

Accessors

  • get name(): string
  • Name of the View.

    +

    Returns string

Methods

  • Deletes the View from the database.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const view = db.view("some-view");
    await view.drop();
    // the View "some-view" no longer exists +
    +
  • Checks whether the View exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const view = db.view("some-view");
    const exists = await view.exists();
    console.log(exists); // indicates whether the View exists +
    +
  • Retrieves general information about the View.

    +

    Returns Promise<ArangoApiResponse<ViewDescription>>

    Example

    const db = new Database();
    const view = db.view("some-view");
    const data = await view.get();
    // data contains general information about the View +
    +
  • Retrieves the View's properties.

    +

    Returns Promise<ArangoApiResponse<ViewProperties>>

    Example

    const db = new Database();
    const view = db.view("some-view");
    const data = await view.properties();
    // data contains the View's properties +
    +
  • Renames the View and updates the instance's name to newName.

    +

    Additionally removes the instance from the database.Database's internal +cache.

    +

    Note: Renaming Views may not be supported when ArangoDB is +running in a cluster configuration.

    +

    Parameters

    • newName: string

      The new name of the View.

      +

    Returns Promise<ArangoApiResponse<ViewDescription>>

    Example

    const db = new Database();
    const view1 = db.view("some-view");
    await view1.rename("other-view");
    const view2 = db.view("some-view");
    const view3 = db.view("other-view");
    // Note all three View instances are different objects but
    // view1 and view3 represent the same ArangoDB view! +
    +
\ No newline at end of file diff --git a/9.1.0/enums/collection.CollectionStatus.html b/9.1.0/enums/collection.CollectionStatus.html new file mode 100644 index 00000000..1836cefb --- /dev/null +++ b/9.1.0/enums/collection.CollectionStatus.html @@ -0,0 +1,8 @@ +CollectionStatus | arangojs - v9.1.0

Enumeration CollectionStatus

Integer values indicating the collection loading status.

+

Enumeration Members

Enumeration Members

DELETED: 5
LOADED: 3
LOADING: 6
NEWBORN: 1
UNLOADED: 2
UNLOADING: 4
\ No newline at end of file diff --git a/9.1.0/enums/collection.CollectionType.html b/9.1.0/enums/collection.CollectionType.html new file mode 100644 index 00000000..2cfaa252 --- /dev/null +++ b/9.1.0/enums/collection.CollectionType.html @@ -0,0 +1,4 @@ +CollectionType | arangojs - v9.1.0

Enumeration CollectionType

Integer values indicating the collection type.

+

Enumeration Members

Enumeration Members

DOCUMENT_COLLECTION: 2
EDGE_COLLECTION: 3
\ No newline at end of file diff --git a/9.1.0/enums/database.LogLevel.html b/9.1.0/enums/database.LogLevel.html new file mode 100644 index 00000000..4a278466 --- /dev/null +++ b/9.1.0/enums/database.LogLevel.html @@ -0,0 +1,7 @@ +LogLevel | arangojs - v9.1.0

Enumeration LogLevel

Numeric representation of the logging level of a log entry.

+

Enumeration Members

Enumeration Members

DEBUG: 4
ERROR: 1
FATAL: 0
INFO: 3
WARNING: 2
\ No newline at end of file diff --git a/9.1.0/functions/analyzer.isArangoAnalyzer.html b/9.1.0/functions/analyzer.isArangoAnalyzer.html new file mode 100644 index 00000000..fdf65849 --- /dev/null +++ b/9.1.0/functions/analyzer.isArangoAnalyzer.html @@ -0,0 +1,3 @@ +isArangoAnalyzer | arangojs - v9.1.0

Function isArangoAnalyzer

  • Indicates whether the given value represents an Analyzer.

    +

    Parameters

    • analyzer: any

      A value that might be an Analyzer.

      +

    Returns analyzer is Analyzer

\ No newline at end of file diff --git a/9.1.0/functions/aql.aql.html b/9.1.0/functions/aql.aql.html new file mode 100644 index 00000000..37a04d72 --- /dev/null +++ b/9.1.0/functions/aql.aql.html @@ -0,0 +1,23 @@ +aql | arangojs - v9.1.0

Function aql

  • Template string handler (template tag) for AQL queries.

    +

    The aql tag can be used to write complex AQL queries as multi-line strings +without having to worry about bindVars and the distinction between +collections and regular parameters.

    +

    Tagged template strings will return an AqlQuery object with +query and bindVars attributes reflecting any interpolated values.

    +

    Any collection.ArangoCollection instance used in a query string will +be recognized as a collection reference and generate an AQL collection bind +parameter instead of a regular AQL value bind parameter.

    +

    Note: you should always use the aql template tag when writing +dynamic AQL queries instead of using untagged (normal) template strings. +Untagged template strings will inline any interpolated values and return +a plain string as result. The aql template tag will only inline references +to the interpolated values and produce an AQL query object containing both +the query and the values. This prevents most injection attacks when using +untrusted values in dynamic queries.

    +

    Type Parameters

    • T = any

    Parameters

    • templateStrings: TemplateStringsArray
    • Rest ...args: AqlValue[]

    Returns AqlQuery<T>

    Example

    // Some user-supplied string that may be malicious
    const untrustedValue = req.body.email;

    // Without aql tag: BAD! DO NOT DO THIS!
    const badQuery = `
    FOR user IN users
    FILTER user.email == "${untrustedValue}"
    RETURN user
    `;
    // e.g. if untrustedValue is '" || user.admin == true || "':
    // Query:
    // FOR user IN users
    // FILTER user.email == "" || user.admin == true || ""
    // RETURN user

    // With the aql tag: GOOD! MUCH SAFER!
    const betterQuery = aql`
    FOR user IN users
    FILTER user.email == ${untrustedValue}
    RETURN user
    `;
    // Query:
    // FOR user IN users
    // FILTER user.email == @value0
    // RETURN user
    // Bind parameters:
    // value0 -> untrustedValue +
    +

    Example

    const collection = db.collection("some-collection");
    const minValue = 23;
    const result = await db.query(aql`
    FOR d IN ${collection}
    FILTER d.num > ${minValue}
    RETURN d
    `);

    // Equivalent raw query object
    const result2 = await db.query({
    query: `
    FOR d IN @@collection
    FILTER d.num > @minValue
    RETURN d
    `,
    bindVars: {
    "@collection": collection.name,
    minValue: minValue
    }
    }); +
    +

    Example

    const collection = db.collection("some-collection");
    const color = "green";
    const filter = aql`FILTER d.color == ${color}'`;
    const result = await db.query(aql`
    FOR d IN ${collection}
    ${filter}
    RETURN d
    `); +
    +
\ No newline at end of file diff --git a/9.1.0/functions/aql.isAqlLiteral.html b/9.1.0/functions/aql.isAqlLiteral.html new file mode 100644 index 00000000..dbd88277 --- /dev/null +++ b/9.1.0/functions/aql.isAqlLiteral.html @@ -0,0 +1,3 @@ +isAqlLiteral | arangojs - v9.1.0

Function isAqlLiteral

  • Indicates whether the given value is an AqlLiteral.

    +

    Parameters

    • literal: any

      A value that might be an AqlLiteral.

      +

    Returns literal is AqlLiteral

\ No newline at end of file diff --git a/9.1.0/functions/aql.isAqlQuery.html b/9.1.0/functions/aql.isAqlQuery.html new file mode 100644 index 00000000..82ba4ebc --- /dev/null +++ b/9.1.0/functions/aql.isAqlQuery.html @@ -0,0 +1,3 @@ +isAqlQuery | arangojs - v9.1.0

Function isAqlQuery

  • Indicates whether the given value is an AqlQuery.

    +

    Parameters

    • query: any

      A value that might be an AqlQuery.

      +

    Returns query is AqlQuery<any>

\ No newline at end of file diff --git a/9.1.0/functions/aql.join.html b/9.1.0/functions/aql.join.html new file mode 100644 index 00000000..edb56815 --- /dev/null +++ b/9.1.0/functions/aql.join.html @@ -0,0 +1,15 @@ +join | arangojs - v9.1.0

Function join

  • Constructs AqlQuery objects from an array of arbitrary values.

    +

    Note: Nesting aql template strings is a much safer alternative +for most use cases. This low-level helper function only exists to +complement the aql tag when constructing complex queries from dynamic +arrays of query fragments.

    +

    Parameters

    • values: AqlValue[]

      Array of values to join. These values will behave exactly +like values interpolated in an aql template string.

      +
    • sep: string = " "

      Seperator to insert between values. This value will behave +exactly like a value passed to literal, i.e. it will be +inlined as-is, rather than being converted into a bind parameter.

      +

    Returns AqlQuery

    Example

    const users = db.collection("users");
    const filters = [];
    if (adminsOnly) filters.push(aql`FILTER user.admin`);
    if (activeOnly) filters.push(aql`FILTER user.active`);
    const result = await db.query(aql`
    FOR user IN ${users}
    ${join(filters)}
    RETURN user
    `); +
    +

    Example

    const users = db.collection("users");
    const keys = ["jreyes", "ghermann"];

    // BAD! NEEDLESSLY COMPLEX!
    const docs = keys.map(key => aql`DOCUMENT(${users}, ${key}`));
    const result = await db.query(aql`
    FOR user IN [
    ${join(docs, ", ")}
    ]
    RETURN user
    `);
    // Query:
    // FOR user IN [
    // DOCUMENT(@@value0, @value1), DOCUMENT(@@value0, @value2)
    // ]
    // RETURN user
    // Bind parameters:
    // @value0 -> "users"
    // value1 -> "jreyes"
    // value2 -> "ghermann"

    // GOOD! MUCH SIMPLER!
    const result = await db.query(aql`
    FOR key IN ${keys}
    LET user = DOCUMENT(${users}, key)
    RETURN user
    `);
    // Query:
    // FOR user IN @value0
    // LET user = DOCUMENT(@@value1, key)
    // RETURN user
    // Bind parameters:
    // value0 -> ["jreyes", "ghermann"]
    // @value1 -> "users" +
    +
\ No newline at end of file diff --git a/9.1.0/functions/aql.literal.html b/9.1.0/functions/aql.literal.html new file mode 100644 index 00000000..d1377f00 --- /dev/null +++ b/9.1.0/functions/aql.literal.html @@ -0,0 +1,15 @@ +literal | arangojs - v9.1.0

Function literal

  • Marks an arbitrary scalar value (i.e. a string, number or boolean) as +safe for being inlined directly into AQL queries when used in an aql +template string, rather than being converted into a bind parameter.

    +

    Note: Nesting aql template strings is a much safer alternative for +most use cases. This low-level helper function only exists to help with +rare edge cases where a trusted AQL query fragment must be read from a +string (e.g. when reading query fragments from JSON) and should only be +used as a last resort.

    +

    Parameters

    • value: undefined | null | string | number | boolean | AqlLiteral

    Returns AqlLiteral

    Example

    // BAD! DO NOT DO THIS!
    const sortDirection = literal('ASC');

    // GOOD! DO THIS INSTEAD!
    const sortDirection = aql`ASC`; +
    +

    Example

    // BAD! DO NOT DO THIS!
    const filterColor = literal('FILTER d.color == "green"');
    const result = await db.query(aql`
    FOR d IN some-collection
    ${filterColor}
    RETURN d
    `);

    // GOOD! DO THIS INSTEAD!
    const color = "green";
    const filterColor = aql`FILTER d.color === ${color}`;
    const result = await db.query(aql`
    FOR d IN some-collection
    ${filterColor}
    RETURN d
    `); +
    +

    Example

    // WARNING: We explicitly trust the environment variable to be safe!
    const filter = literal(process.env.FILTER_STATEMENT);
    const users = await db.query(aql`
    FOR user IN users
    ${filter}
    RETURN user
    `); +
    +
\ No newline at end of file diff --git a/9.1.0/functions/collection.collectionToString.html b/9.1.0/functions/collection.collectionToString.html new file mode 100644 index 00000000..50f7f6b6 --- /dev/null +++ b/9.1.0/functions/collection.collectionToString.html @@ -0,0 +1,4 @@ +collectionToString | arangojs - v9.1.0

Function collectionToString

  • Coerces the given collection name or ArangoCollection object to +a string representing the collection name.

    +

    Parameters

    Returns string

\ No newline at end of file diff --git a/9.1.0/functions/collection.isArangoCollection.html b/9.1.0/functions/collection.isArangoCollection.html new file mode 100644 index 00000000..d3631ca8 --- /dev/null +++ b/9.1.0/functions/collection.isArangoCollection.html @@ -0,0 +1,3 @@ +isArangoCollection | arangojs - v9.1.0

Function isArangoCollection

  • Indicates whether the given value represents an ArangoCollection.

    +

    Parameters

    • collection: any

      A value that might be a collection.

      +

    Returns collection is ArangoCollection

\ No newline at end of file diff --git a/9.1.0/functions/database.isArangoDatabase.html b/9.1.0/functions/database.isArangoDatabase.html new file mode 100644 index 00000000..76644639 --- /dev/null +++ b/9.1.0/functions/database.isArangoDatabase.html @@ -0,0 +1,3 @@ +isArangoDatabase | arangojs - v9.1.0

Function isArangoDatabase

  • Indicates whether the given value represents a Database.

    +

    Parameters

    • database: any

      A value that might be a database.

      +

    Returns database is Database

\ No newline at end of file diff --git a/9.1.0/functions/error.isArangoError.html b/9.1.0/functions/error.isArangoError.html new file mode 100644 index 00000000..c537eb45 --- /dev/null +++ b/9.1.0/functions/error.isArangoError.html @@ -0,0 +1,3 @@ +isArangoError | arangojs - v9.1.0

Function isArangoError

  • Indicates whether the given value represents an ArangoError.

    +

    Parameters

    • error: any

      A value that might be an ArangoError.

      +

    Returns error is ArangoError

\ No newline at end of file diff --git a/9.1.0/functions/error.isSystemError.html b/9.1.0/functions/error.isSystemError.html new file mode 100644 index 00000000..b093c548 --- /dev/null +++ b/9.1.0/functions/error.isSystemError.html @@ -0,0 +1,2 @@ +isSystemError | arangojs - v9.1.0

Function isSystemError

  • Indicates whether the given value represents a Node.js SystemError.

    +

    Parameters

    • err: any

    Returns err is SystemError

\ No newline at end of file diff --git a/9.1.0/functions/graph.isArangoGraph.html b/9.1.0/functions/graph.isArangoGraph.html new file mode 100644 index 00000000..a17be582 --- /dev/null +++ b/9.1.0/functions/graph.isArangoGraph.html @@ -0,0 +1,3 @@ +isArangoGraph | arangojs - v9.1.0

Function isArangoGraph

  • Indicates whether the given value represents a graph.Graph.

    +

    Parameters

    • graph: any

      A value that might be a Graph.

      +

    Returns graph is Graph

\ No newline at end of file diff --git a/9.1.0/functions/index.arangojs.html b/9.1.0/functions/index.arangojs.html new file mode 100644 index 00000000..c150355b --- /dev/null +++ b/9.1.0/functions/index.arangojs.html @@ -0,0 +1,12 @@ +arangojs | arangojs - v9.1.0

Function arangojs

  • Creates a new Database instance with its own connection pool.

    +

    This is a wrapper function for the database.Database:constructor.

    +

    Parameters

    • Optional config: Config

      An object with configuration options.

      +

    Returns Database

    Example

    const db = arangojs({
    url: "http://127.0.0.1:8529",
    databaseName: "myDatabase",
    auth: { username: "admin", password: "hunter2" },
    }); +
    +
  • Creates a new Database instance with its own connection pool.

    +

    This is a wrapper function for the database.Database:constructor.

    +

    Parameters

    • url: string | string[]

      Base URL of the ArangoDB server or list of server URLs. +Equivalent to the url option in connection.Config.

      +
    • Optional name: string

    Returns Database

    Example

    const db = arangojs("http://127.0.0.1:8529", "myDatabase");
    db.useBasicAuth("admin", "hunter2"); +
    +
\ No newline at end of file diff --git a/9.1.0/functions/transaction.isArangoTransaction.html b/9.1.0/functions/transaction.isArangoTransaction.html new file mode 100644 index 00000000..eded90e0 --- /dev/null +++ b/9.1.0/functions/transaction.isArangoTransaction.html @@ -0,0 +1,3 @@ +isArangoTransaction | arangojs - v9.1.0

Function isArangoTransaction

  • Indicates whether the given value represents a Transaction.

    +

    Parameters

    • transaction: any

      A value that might be a transaction.

      +

    Returns transaction is Transaction

\ No newline at end of file diff --git a/9.1.0/functions/view.isArangoView.html b/9.1.0/functions/view.isArangoView.html new file mode 100644 index 00000000..fba7410e --- /dev/null +++ b/9.1.0/functions/view.isArangoView.html @@ -0,0 +1,3 @@ +isArangoView | arangojs - v9.1.0

Function isArangoView

  • Indicates whether the given value represents a View.

    +

    Parameters

    • view: any

      A value that might be a View.

      +

    Returns view is View

\ No newline at end of file diff --git a/9.1.0/hierarchy.html b/9.1.0/hierarchy.html new file mode 100644 index 00000000..5ba1fe65 --- /dev/null +++ b/9.1.0/hierarchy.html @@ -0,0 +1 @@ +arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/index.html b/9.1.0/index.html new file mode 100644 index 00000000..764bf898 --- /dev/null +++ b/9.1.0/index.html @@ -0,0 +1,148 @@ +arangojs - v9.1.0

arangojs - v9.1.0

ArangoDB JavaScript Driver

The official ArangoDB JavaScript client for Node.js and the browser.

+

license - APACHE-2.0 +Tests

+

npm package status

+

Links

+

Install

With npm or yarn

npm install --save arangojs
## - or -
yarn add arangojs +
+

For browsers

When using modern JavaScript tooling with a bundler and compiler (e.g. Babel), +arangojs can be installed using npm or yarn like any other dependency.

+

You can also use jsDelivr CDN during development:

+
<script type="importmap">
{
"imports": {
"arangojs": "https://cdn.jsdelivr.net/npm/arangojs@9.0.0-preview.1/esm/index.js?+esm"
}
}
</script>
<script type="module">
import { Database } from "arangojs";
const db = new Database();
// ...
</script> +
+

Basic usage example

Modern JavaScript/TypeScript with async/await and ES Modules:

+
import { Database, aql } from "arangojs";

const db = new Database();
const Pokemons = db.collection("my-pokemons");

async function main() {
try {
const pokemons = await db.query(aql`
FOR pokemon IN ${Pokemons}
FILTER pokemon.type == "fire"
RETURN pokemon
`);
console.log("My pokemans, let me show you them:");
for await (const pokemon of pokemons) {
console.log(pokemon.name);
}
} catch (err) {
console.error(err.message);
}
}

main(); +
+

Using a different database:

+
const db = new Database({
url: "http://127.0.0.1:8529",
databaseName: "pancakes",
auth: { username: "root", password: "hunter2" },
});

// The credentials can be swapped at any time
db.useBasicAuth("admin", "maplesyrup"); +
+

Old-school JavaScript with promises and CommonJS:

+
var arangojs = require("arangojs");
var Database = arangojs.Database;

var db = new Database();
var pokemons = db.collection("pokemons");

db.query({
query: "FOR p IN @@c FILTER p.type == 'fire' RETURN p",
bindVars: { "@c": "pokemons" },
})
.then(function (cursor) {
console.log("My pokemons, let me show you them:");
return cursor.forEach(function (pokemon) {
console.log(pokemon.name);
});
})
.catch(function (err) {
console.error(err.message);
}); +
+

Note: The examples throughout this documentation use async/await +and other modern language features like multi-line strings and template tags. +When developing for an environment without support for these language features, +substitute promises for await syntax as in the above example.

+

Compatibility

The arangojs driver is compatible with the latest stable version of ArangoDB +available at the time of the driver release and remains compatible with the +two most recent Node.js LTS versions in accordance with the official +Node.js long-term support schedule. Versions +of ArangoDB that have reached their end of life +by the time of a driver release are explicitly not supported.

+

For a list of changes between recent versions of the driver, see the +CHANGELOG.

+

Note: arangojs is only intended to be used in Node.js or a browser to access +ArangoDB from outside the database. If you are looking for the ArangoDB +JavaScript API for Foxx or for accessing ArangoDB +from within the arangosh interactive shell, please refer to the documentation +of the @arangodb module +and the db object instead.

+

Error responses

If arangojs encounters an API error, it will throw an ArangoError with +an errorNum property indicating the ArangoDB error code and the code +property indicating the HTTP status code from the response body.

+

For any other non-ArangoDB error responses (4xx/5xx status code), it will throw +an HttpError error with the status code indicated by the code property.

+

If the server response did not indicate an error but the response body could +not be parsed, a regular SyntaxError may be thrown instead.

+

In all of these cases the server response object will be exposed as the +response property on the error object.

+

If the request failed at a network level or the connection was closed without +receiving a response, the underlying system error will be thrown instead.

+

Common issues

Missing functions or unexpected server errors

Please make sure you are using the latest version of this driver and that the +version of the arangojs documentation you are reading matches that version.

+

Changes in the major version number of arangojs (e.g. 7.x.y -> 8.0.0) indicate +backwards-incompatible changes in the arangojs API that may require changes in +your code when upgrading your version of arangojs.

+

Additionally please ensure that your version of Node.js (or browser) and +ArangoDB are supported by the version of arangojs you are trying to use. See +the compatibility section for additional information.

+

Note: As of June 2018 ArangoDB 2.8 has reached its End of Life and is no +longer supported in arangojs 7 and later. If your code needs to work with +ArangoDB 2.8 you can continue using arangojs 6 and enable ArangoDB 2.8 +compatibility mode by setting the config option arangoVersion: 20800 to +enable the ArangoDB 2.8 compatibility mode in arangojs 6.

+

You can install an older version of arangojs using npm or yarn:

+
# for version 6.x.x
yarn add arangojs@6
# - or -
npm install --save arangojs@6 +
+

No code intelligence when using require instead of import

If you are using require to import the arangojs module in JavaScript, the +default export might not be recognized as a function by the code intelligence +of common editors like Visual Studio Code, breaking auto-complete and other +useful features.

+

As a workaround, use the arangojs function exported by that module instead +of calling the module itself:

+
  const arangojs = require("arangojs");

- const db = arangojs({
+ const db = arangojs.arangojs({
url: ARANGODB_SERVER,
}); +
+

Alternatively you can use the Database class directly:

+
  const arangojs = require("arangojs");
+ const Database = arangojs.Database;

- const db = arangojs({
+ const db = new Database({
url: ARANGODB_SERVER,
}); +
+

Or using object destructuring:

+
- const arangojs = require("arangojs");
+ const { Database } = require("arangojs");

- const db = arangojs({
+ const db = new Database({
url: ARANGODB_SERVER,
}); +
+

Error stack traces contain no useful information

Due to the async, queue-based behavior of arangojs, the stack traces generated +when an error occur rarely provide enough information to determine the location +in your own code where the request was initiated.

+

Using the precaptureStackTraces configuration option, arangojs will attempt +to always generate stack traces proactively when a request is performed, +allowing arangojs to provide more meaningful stack traces at the cost of an +impact to performance even when no error occurs.

+
  const { Database } = require("arangojs");

const db = new Database({
url: ARANGODB_SERVER,
+ precaptureStackTraces: true,
}); +
+

Note that arangojs will attempt to use Error.captureStackTrace if available +and fall back to generating a stack trace by throwing an error. In environments +that do not support the stack property on error objects, this option will +still impact performance but not result in any additional information becoming +available.

+

Node.js ReferenceError: window is not defined

If you compile your Node project using a build tool like Webpack, you may need +to tell it to +target the correct environment:

+
// webpack.config.js
+ "target": "node", +
+

To support use in both browser and Node environments arangojs uses the +package.json browser field, +to substitute browser-specific implementations for certain modules. +Build tools like Webpack will respect this field when targetting a browser +environment and may need to be explicitly told you are targetting Node instead.

+

Node.js with self-signed HTTPS certificates

If you need to support self-signed HTTPS certificates in Node.js, you may have +to override the global fetch agent. At the time of this writing, there is no +official way to do this for the native fetch implementation in Node.js.

+

However as Node.js uses the undici module for its fetch implementation +internally, you can override the global agent by adding undici as a +dependency to your project and using its setGlobalDispatcher as follows:

+
import { Agent, setGlobalDispatcher } from "undici";

setGlobalDispatcher(
new Agent({
ca: [
fs.readFileSync(".ssl/sub.class1.server.ca.pem"),
fs.readFileSync(".ssl/ca.pem"),
],
})
); +
+

Although this is strongly discouraged, it's also possible to disable +HTTPS certificate validation entirely, but note this has +extremely dangerous security implications:

+
import { Agent, setGlobalDispatcher } from "undici";

setGlobalDispatcher(
new Agent({
rejectUnauthorized: false,
})
); +
+

When using arangojs in the browser, self-signed HTTPS certificates need to +be trusted by the browser or use a trusted root certificate.

+

Streaming transactions leak

When using the transaction.step method it is important to be aware of the +limitations of what a callback passed to this method is allowed to do.

+
const collection = db.collection(collectionName);
const trx = db.transaction(transactionId);

// WARNING: This code will not work as intended!
await trx.step(async () => {
await collection.save(doc1);
await collection.save(doc2); // Not part of the transaction!
});

// INSTEAD: Always perform a single operation per step:
await trx.step(() => collection.save(doc1));
await trx.step(() => collection.save(doc2)); +
+

Please refer to the documentation of this method for additional examples.

+

Streaming transactions timeout in cluster

Example messages: transaction not found, transaction already expired.

+

Transactions have +different guarantees +in a cluster.

+

When using arangojs in a cluster with load balancing, you may need to adjust +the value of config.poolSize to accommodate the number of transactions +you need to be able to run in parallel. The default value is likely to be too +low for most cluster scenarios involving frequent streaming transactions.

+

Note: When using a high value for config.poolSize you may have +to adjust the maximum number of threads in the ArangoDB configuration using +the server.maximal-threads option +to support larger numbers of concurrent transactions on the server side.

+

License

The Apache License, Version 2.0. For more information, see the accompanying +LICENSE file.

+

Includes code from x3-linkedlist +used under the MIT license.

+
\ No newline at end of file diff --git a/9.1.0/interfaces/aql.AqlLiteral.html b/9.1.0/interfaces/aql.AqlLiteral.html new file mode 100644 index 00000000..87863505 --- /dev/null +++ b/9.1.0/interfaces/aql.AqlLiteral.html @@ -0,0 +1,5 @@ +AqlLiteral | arangojs - v9.1.0

Interface AqlLiteral

An object representing a trusted AQL literal that will be inlined directly +when used in an AQL template or passed to AQL helper functions.

+

Arbitrary values can be converted to trusted AQL literals by passing them +to the literal helper function.

+
interface AqlLiteral {}
\ No newline at end of file diff --git a/9.1.0/interfaces/aql.AqlQuery.html b/9.1.0/interfaces/aql.AqlQuery.html new file mode 100644 index 00000000..41933990 --- /dev/null +++ b/9.1.0/interfaces/aql.AqlQuery.html @@ -0,0 +1,10 @@ +AqlQuery | arangojs - v9.1.0

Interface AqlQuery<T>

Generic AQL query object consisting of an AQL query string and its bind +parameters.

+
interface AqlQuery<T> {
    [type]?: any;
    bindVars: Record<string, any>;
    query: string;
}

Type Parameters

  • T = any

Properties

Properties

[type]?: any
bindVars: Record<string, any>

An object mapping AQL bind parameter names to their respective values.

+

Names of parameters representing collections are prefixed with an +at-symbol.

+
query: string

An AQL query string.

+
\ No newline at end of file diff --git a/9.1.0/interfaces/collection.ArangoCollection.html b/9.1.0/interfaces/collection.ArangoCollection.html new file mode 100644 index 00000000..9b7e795b --- /dev/null +++ b/9.1.0/interfaces/collection.ArangoCollection.html @@ -0,0 +1,6 @@ +ArangoCollection | arangojs - v9.1.0

Interface ArangoCollection

A marker interface identifying objects that can be used in AQL template +strings to create references to ArangoDB collections.

+

See aql!aql.

+
interface ArangoCollection {
    name: string;
}

Hierarchy (view full)

Implemented by

Properties

Properties

name: string

Name of the collection.

+
\ No newline at end of file diff --git a/9.1.0/interfaces/collection.DocumentCollection.html b/9.1.0/interfaces/collection.DocumentCollection.html new file mode 100644 index 00000000..fc108fda --- /dev/null +++ b/9.1.0/interfaces/collection.DocumentCollection.html @@ -0,0 +1,291 @@ +DocumentCollection | arangojs - v9.1.0

Interface DocumentCollection<EntryResultType, EntryInputType>

Represents an document collection in a database.Database.

+

See EdgeCollection for a variant of this interface more suited for +edge collections.

+

When using TypeScript, collections can be cast to a specific document data +type to increase type safety.

+

Param: T

Type to use for document data. Defaults to any.

+

Example

interface Person {
name: string;
}
const db = new Database();
const documents = db.collection("persons") as DocumentCollection<Person>; +
+
interface DocumentCollection<EntryResultType, EntryInputType> {
    name: string;
    checksum(options?): Promise<ArangoApiResponse<CollectionMetadata & {
        checksum: string;
        revision: string;
    }>>;
    compact(): Promise<ArangoApiResponse<Record<string, never>>>;
    count(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
    }>>;
    create(options?): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    document(selector, options?): Promise<Document<EntryResultType>>;
    document(selector, graceful): Promise<Document<EntryResultType>>;
    documentExists(selector, options?): Promise<boolean>;
    documentId(selector): string;
    documents(selectors, options?): Promise<Document<EntryResultType>[]>;
    drop(options?): Promise<ArangoApiResponse<Record<string, never>>>;
    dropIndex(selector): Promise<ArangoApiResponse<{
        id: string;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        fields: string[];
        storedValues?: string[];
        type: "persistent";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        expireAfter: number;
        fields: [string];
        selectivityEstimate: number;
        type: "ttl";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        fieldValueTypes: "double";
        fields: string[];
        type: "mdi";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        bestIndexedLevel: number;
        fields: [string, string] | [string];
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        type: "geo";
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        fields: {
            analyzer?: string;
            cache?: boolean;
            features?: AnalyzerFeature[];
            includeAllFields?: boolean;
            name: string;
            nested?: InvertedIndexNestedField[];
            searchField?: boolean;
            trackListPositions?: boolean;
        }[];
        includeAllFields: boolean;
        optimizeTopK: string[];
        parallelism: number;
        primaryKeyCache?: boolean;
        primarySort: {
            cache?: boolean;
            compression: Compression;
            fields: {
                direction: Direction;
                field: string;
            }[];
        };
        searchField: boolean;
        storedValues: {
            cache?: boolean;
            compression: Compression;
            fields: string[];
        }[];
        trackListPositions: boolean;
        type: "inverted";
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<Index & {
        isNewlyCreated: boolean;
    }>>;
    exists(): Promise<boolean>;
    figures(details?): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>;
    get(): Promise<ArangoApiResponse<CollectionMetadata>>;
    getResponsibleShard(document): Promise<string>;
    import(data, options?): Promise<CollectionImportResult>;
    import(data, options?): Promise<CollectionImportResult>;
    import(data, options?): Promise<CollectionImportResult>;
    index(selector): Promise<Index>;
    indexes<IndexType>(options?): Promise<IndexType[]>;
    loadIndexes(): Promise<boolean>;
    properties(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    properties(properties): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    recalculateCount(): Promise<boolean>;
    remove(selector, options?): Promise<DocumentMetadata & {
        old?: Document<EntryResultType>;
    }>;
    removeAll(selectors, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        old?: Document<EntryResultType>;
    })[]>;
    rename(newName): Promise<ArangoApiResponse<CollectionMetadata>>;
    replace(selector, newData, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>;
    replaceAll(newData, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    })[]>;
    revision(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        revision: string;
    }>>;
    save(data, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>;
    saveAll(data, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    })[]>;
    truncate(): Promise<ArangoApiResponse<CollectionMetadata>>;
    update(selector, newData, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>;
    updateAll(newData, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    })[]>;
}

Type Parameters

  • EntryResultType extends Record<string, any> = any
  • EntryInputType extends Record<string, any> = EntryResultType

Hierarchy (view full)

Properties

name: string

Name of the collection.

+

Methods

  • Retrieves the collection checksum.

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionMetadata & {
        checksum: string;
        revision: string;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const data = await collection.checksum();
    // data contains the collection's checksum +
    +
  • Triggers compaction for a collection.

    +

    Returns Promise<ArangoApiResponse<Record<string, never>>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.compact();
    // Background compaction is triggered on the collection +
    +
  • Creates a collection with the given options and the instance's name.

    +

    See also database.Database#createCollection and +database.Database#createEdgeCollection.

    +

    Note: When called on an EdgeCollection instance in TypeScript, +the type option must still be set to the correct CollectionType. +Otherwise this will result in the collection being created with the +default type (i.e. as a document collection).

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>

    Example

    const db = new Database();
    const collection = db.collection("potatoes");
    await collection.create();
    // the document collection "potatoes" now exists +
    +

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.create({ type: CollectionType.EDGE_COLLECTION });
    // the edge collection "friends" now exists +
    +

    Example

    interface Friend {
    startDate: number;
    endDate?: number;
    }
    const db = new Database();
    const collection = db.collection("friends") as EdgeCollection<Friend>;
    // even in TypeScript you still need to indicate the collection type
    // if you want to create an edge collection
    await collection.create({ type: CollectionType.EDGE_COLLECTION });
    // the edge collection "friends" now exists +
    +
  • Retrieves the document matching the given key or id.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionReadOptions

      Options for retrieving the document.

      +

    Returns Promise<Document<EntryResultType>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const document = await collection.document("abc123");
    console.log(document);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const document = await collection.document("abc123", { graceful: true });
    if (document) {
    console.log(document);
    } else {
    console.error("Could not find document");
    } +
    +
  • Retrieves the document matching the given key or id.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • graceful: boolean

      If set to true, null is returned instead of an +exception being thrown if the document does not exist.

      +

    Returns Promise<Document<EntryResultType>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const document = await collection.document("abc123", false);
    console.log(document);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const document = await collection.document("abc123", true);
    if (document) {
    console.log(document);
    } else {
    console.error("Could not find document");
    } +
    +
  • Checks whether a document matching the given key or id exists in this +collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const exists = await collection.documentExists("abc123");
    if (!exists) {
    console.log("Document does not exist");
    } +
    +
  • Derives a document _id from the given selector for this collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +

    Returns string

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const meta = await collection.save({ foo: "bar" }, { returnNew: true });
    const doc = meta.new;
    console.log(collection.documentId(meta)); // via meta._id
    console.log(collection.documentId(doc)); // via doc._id
    console.log(collection.documentId(meta._key)); // also works +
    +

    Example

    const db = new Database();
    const collection1 = db.collection("some-collection");
    const collection2 = db.collection("other-collection");
    const meta = await collection1.save({ foo: "bar" });
    // Mixing collections is usually a mistake
    console.log(collection1.documentId(meta)); // ok: same collection
    console.log(collection2.documentId(meta)); // throws: wrong collection
    console.log(collection2.documentId(meta._id)); // also throws
    console.log(collection2.documentId(meta._key)); // ok but wrong collection +
    +
  • Retrieves the documents matching the given key or id values.

    +

    Throws an exception when passed a document or _id from a different +collection, or if the document does not exist.

    +

    Parameters

    • selectors: (string | ObjectWithKey)[]

      Array of document _key, _id or objects with either +of those properties (e.g. a document from this collection).

      +
    • Optional options: CollectionBatchReadOptions

      Options for retrieving the documents.

      +

    Returns Promise<Document<EntryResultType>[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const documents = await collection.documents(["abc123", "xyz456"]);
    console.log(documents);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +
  • Deletes the collection from the database.

    +

    Parameters

    Returns Promise<ArangoApiResponse<Record<string, never>>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.drop();
    // The collection "some-collection" is now an ex-collection +
    +
  • Deletes the index with the given name or id from the database.

    +

    Parameters

    • selector: IndexSelector

      Index name, id or object with either property.

      +

    Returns Promise<ArangoApiResponse<{
        id: string;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.dropIndex("some-index");
    // The index "some-index" no longer exists +
    +
  • Creates a persistent index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        fields: string[];
        storedValues?: string[];
        type: "persistent";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create a unique index for looking up documents by username
    await collection.ensureIndex({
    type: "persistent",
    fields: ["username"],
    name: "unique-usernames",
    unique: true
    }); +
    +
  • Creates a TTL index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        expireAfter: number;
        fields: [string];
        selectivityEstimate: number;
        type: "ttl";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Expire documents with "createdAt" timestamp one day after creation
    await collection.ensureIndex({
    type: "ttl",
    fields: ["createdAt"],
    expireAfter: 60 * 60 * 24 // 24 hours
    }); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Expire documents with "expiresAt" timestamp according to their value
    await collection.ensureIndex({
    type: "ttl",
    fields: ["expiresAt"],
    expireAfter: 0 // when attribute value is exceeded
    }); +
    +
  • Creates a multi-dimensional index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        fieldValueTypes: "double";
        fields: string[];
        type: "mdi";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-points");
    // Create a multi-dimensional index for the attributes x, y and z
    await collection.ensureIndex({
    type: "mdi",
    fields: ["x", "y", "z"],
    fieldValueTypes: "double"
    }); +
    +
    
    +
    +
  • Creates a geo index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        bestIndexedLevel: number;
        fields: [string, string] | [string];
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        type: "geo";
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create an index for GeoJSON data
    await collection.ensureIndex({
    type: "geo",
    fields: ["lngLat"],
    geoJson: true
    }); +
    +
  • Creates a inverted index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        fields: {
            analyzer?: string;
            cache?: boolean;
            features?: AnalyzerFeature[];
            includeAllFields?: boolean;
            name: string;
            nested?: InvertedIndexNestedField[];
            searchField?: boolean;
            trackListPositions?: boolean;
        }[];
        includeAllFields: boolean;
        optimizeTopK: string[];
        parallelism: number;
        primaryKeyCache?: boolean;
        primarySort: {
            cache?: boolean;
            compression: Compression;
            fields: {
                direction: Direction;
                field: string;
            }[];
        };
        searchField: boolean;
        storedValues: {
            cache?: boolean;
            compression: Compression;
            fields: string[];
        }[];
        trackListPositions: boolean;
        type: "inverted";
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create an inverted index
    await collection.ensureIndex({
    type: "inverted",
    fields: ["a", { name: "b", analyzer: "text_en" }]
    }); +
    +
  • Creates an index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<Index & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create a unique index for looking up documents by username
    await collection.ensureIndex({
    type: "persistent",
    fields: ["username"],
    name: "unique-usernames",
    unique: true
    }); +
    +
  • Checks whether the collection exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const result = await collection.exists();
    // result indicates whether the collection exists +
    +
  • Retrieves statistics for a collection.

    +

    Parameters

    • Optional details: boolean

      whether to return extended storage engine-specific details +to the figures, which may cause additional load and impact performance

      +

    Returns Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const data = await collection.figures();
    // data contains the collection's figures +
    +
  • Retrieves general information about the collection.

    +

    Returns Promise<ArangoApiResponse<CollectionMetadata>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const data = await collection.get();
    // data contains general information about the collection +
    +
  • Retrieves the shardId of the shard responsible for the given document.

    +

    Parameters

    Returns Promise<string>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const responsibleShard = await collection.getResponsibleShard(); +
    +
  • Bulk imports the given data into the collection.

    +

    Parameters

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    [
    { _key: "jcd", password: "bionicman" },
    { _key: "jreyes", password: "amigo" },
    { _key: "ghermann", password: "zeitgeist" }
    ]
    ); +
    +
  • Bulk imports the given data into the collection.

    +

    Parameters

    • data: any[][]

      The data to import, as an array containing a single array of +attribute names followed by one or more arrays of attribute values for +each document.

      +
    • Optional options: CollectionImportOptions

      Options for importing the data.

      +

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    [
    [ "_key", "password" ],
    [ "jcd", "bionicman" ],
    [ "jreyes", "amigo" ],
    [ "ghermann", "zeitgeist" ]
    ]
    ); +
    +
  • Bulk imports the given data into the collection.

    +

    If type is omitted, data must contain one JSON array per line with +the first array providing the attribute names and all other arrays +providing attribute values for each document.

    +

    If type is set to "documents", data must contain one JSON document +per line.

    +

    If type is set to "list", data must contain a JSON array of +documents.

    +

    If type is set to "auto", data can be in either of the formats +supported by "documents" or "list".

    +

    Parameters

    • data: string | Buffer | Blob

      The data to import as a Buffer (Node), Blob (browser) or +string.

      +
    • Optional options: CollectionImportOptions & {
          type?: "documents" | "list" | "auto";
      }

      Options for importing the data.

      +

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '{"_key":"jcd","password":"bionicman"}\r\n' +
    '{"_key":"jreyes","password":"amigo"}\r\n' +
    '{"_key":"ghermann","password":"zeitgeist"}\r\n',
    { type: "documents" } // or "auto"
    ); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '[{"_key":"jcd","password":"bionicman"},' +
    '{"_key":"jreyes","password":"amigo"},' +
    '{"_key":"ghermann","password":"zeitgeist"}]',
    { type: "list" } // or "auto"
    ); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '["_key","password"]\r\n' +
    '["jcd","bionicman"]\r\n' +
    '["jreyes","amigo"]\r\n' +
    '["ghermann","zeitgeist"]\r\n'
    ); +
    +
  • Returns an index description by name or id if it exists.

    +

    Parameters

    • selector: IndexSelector

      Index name, id or object with either property.

      +

    Returns Promise<Index>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const index = await collection.index("some-index"); +
    +
  • Returns a list of all index descriptions for the collection.

    +

    Type Parameters

    Parameters

    Returns Promise<IndexType[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const indexes = await collection.indexes(); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const allIndexes = await collection.indexes<HiddenIndex>({
    withHidden: true
    }); +
    +
  • Instructs ArangoDB to load as many indexes of the collection into memory +as permitted by the memory limit.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("indexed-collection");
    await collection.loadIndexes();
    // the indexes are now loaded into memory +
    +
  • Instructs ArangoDB to recalculate the collection's document count to fix +any inconsistencies.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("inconsistent-collection");
    const badData = await collection.count();
    // oh no, the collection count looks wrong -- fix it!
    await collection.recalculateCount();
    const goodData = await collection.count();
    // goodData contains the collection's improved count +
    +
  • Removes an existing document from the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionRemoveOptions

      Options for removing the document.

      +

    Returns Promise<DocumentMetadata & {
        old?: Document<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.remove("abc123");
    // document with key "abc123" deleted +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const doc = await collection.document("abc123");
    await collection.remove(doc);
    // document with key "abc123" deleted +
    +
  • Removes existing documents from the collection.

    +

    Throws an exception when passed any document or _id from a different +collection.

    +

    Parameters

    • selectors: (string | ObjectWithKey)[]

      Documents _key, _id or objects with either of those +properties (e.g. documents from this collection).

      +
    • Optional options: Omit<CollectionRemoveOptions, "ifMatch">

      Options for removing the documents.

      +

    Returns Promise<(DocumentOperationFailure | DocumentMetadata & {
        old?: Document<EntryResultType>;
    })[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.removeAll(["abc123", "def456"]);
    // document with keys "abc123" and "def456" deleted +
    +
  • Renames the collection and updates the instance's name to newName.

    +

    Additionally removes the instance from the database.Database's internal +cache.

    +

    Note: Renaming collections may not be supported when ArangoDB is +running in a cluster configuration.

    +

    Parameters

    • newName: string

      The new name of the collection.

      +

    Returns Promise<ArangoApiResponse<CollectionMetadata>>

    Example

    const db = new Database();
    const collection1 = db.collection("some-collection");
    await collection1.rename("other-collection");
    const collection2 = db.collection("some-collection");
    const collection3 = db.collection("other-collection");
    // Note all three collection instances are different objects but
    // collection1 and collection3 represent the same ArangoDB collection! +
    +
  • Replaces an existing document in the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    const result = await collection.replace(
    "a",
    { color: "red" },
    { returnNew: true }
    );
    console.log(result.new.color, result.new.count); // "red" undefined +
    +
  • Replaces existing documents in the collection, identified by the _key or +_id of each document.

    +

    Parameters

    Returns Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    })[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    await collection.save({ _key: "b", color: "green", count: 3 });
    const result = await collection.replaceAll(
    [
    { _key: "a", color: "red" },
    { _key: "b", color: "yellow", count: 2 }
    ],
    { returnNew: true }
    );
    console.log(result[0].new.color, result[0].new.count); // "red" undefined
    console.log(result[1].new.color, result[1].new.count); // "yellow" 2 +
    +
  • Deletes all documents in the collection.

    +

    Returns Promise<ArangoApiResponse<CollectionMetadata>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.truncate();
    // millions of documents cry out in terror and are suddenly silenced,
    // the collection "some-collection" is now empty +
    +
  • Updates an existing document in the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    const result = await collection.update(
    "a",
    { count: 2 },
    { returnNew: true }
    );
    console.log(result.new.color, result.new.count); // "blue" 2 +
    +
  • Updates existing documents in the collection, identified by the _key or +_id of each document.

    +

    Parameters

    Returns Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    })[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.save({ _key: "a", color: "blue", count: 1 });
    await collection.save({ _key: "b", color: "green", count: 3 });
    const result = await collection.updateAll(
    [
    { _key: "a", count: 2 },
    { _key: "b", count: 4 }
    ],
    { returnNew: true }
    );
    console.log(result[0].new.color, result[0].new.count); // "blue" 2
    console.log(result[1].new.color, result[1].new.count); // "green" 4 +
    +
\ No newline at end of file diff --git a/9.1.0/interfaces/collection.EdgeCollection.html b/9.1.0/interfaces/collection.EdgeCollection.html new file mode 100644 index 00000000..10ce6fe4 --- /dev/null +++ b/9.1.0/interfaces/collection.EdgeCollection.html @@ -0,0 +1,321 @@ +EdgeCollection | arangojs - v9.1.0

Interface EdgeCollection<EntryResultType, EntryInputType>

Represents an edge collection in a database.Database.

+

See DocumentCollection for a more generic variant of this interface +more suited for regular document collections.

+

See also graph.GraphEdgeCollection for the type representing an edge +collection in a graph.Graph.

+

When using TypeScript, collections can be cast to a specific edge document +data type to increase type safety.

+

Param: T

Type to use for edge document data. Defaults to any.

+

Example

interface Friend {
startDate: number;
endDate?: number;
}
const db = new Database();
const edges = db.collection("friends") as EdgeCollection<Friend>; +
+
interface EdgeCollection<EntryResultType, EntryInputType> {
    name: string;
    checksum(options?): Promise<ArangoApiResponse<CollectionMetadata & {
        checksum: string;
        revision: string;
    }>>;
    compact(): Promise<ArangoApiResponse<Record<string, never>>>;
    count(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
    }>>;
    create(options?): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    document(selector, options?): Promise<Edge<EntryResultType>>;
    document(selector, graceful): Promise<Edge<EntryResultType>>;
    documentExists(selector, options?): Promise<boolean>;
    documentId(selector): string;
    documents(selectors, options?): Promise<Edge<EntryResultType>[]>;
    drop(options?): Promise<ArangoApiResponse<Record<string, never>>>;
    dropIndex(selector): Promise<ArangoApiResponse<{
        id: string;
    }>>;
    edges(selector, options?): Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        fields: string[];
        storedValues?: string[];
        type: "persistent";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        expireAfter: number;
        fields: [string];
        selectivityEstimate: number;
        type: "ttl";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        fieldValueTypes: "double";
        fields: string[];
        type: "mdi";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        bestIndexedLevel: number;
        fields: [string, string] | [string];
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        type: "geo";
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<GenericIndex & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        fields: {
            analyzer?: string;
            cache?: boolean;
            features?: AnalyzerFeature[];
            includeAllFields?: boolean;
            name: string;
            nested?: InvertedIndexNestedField[];
            searchField?: boolean;
            trackListPositions?: boolean;
        }[];
        includeAllFields: boolean;
        optimizeTopK: string[];
        parallelism: number;
        primaryKeyCache?: boolean;
        primarySort: {
            cache?: boolean;
            compression: Compression;
            fields: {
                direction: Direction;
                field: string;
            }[];
        };
        searchField: boolean;
        storedValues: {
            cache?: boolean;
            compression: Compression;
            fields: string[];
        }[];
        trackListPositions: boolean;
        type: "inverted";
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(details): Promise<ArangoApiResponse<Index & {
        isNewlyCreated: boolean;
    }>>;
    exists(): Promise<boolean>;
    figures(details?): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>;
    get(): Promise<ArangoApiResponse<CollectionMetadata>>;
    getResponsibleShard(document): Promise<string>;
    import(data, options?): Promise<CollectionImportResult>;
    import(data, options?): Promise<CollectionImportResult>;
    import(data, options?): Promise<CollectionImportResult>;
    inEdges(selector, options?): Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>;
    index(selector): Promise<Index>;
    indexes<IndexType>(options?): Promise<IndexType[]>;
    loadIndexes(): Promise<boolean>;
    outEdges(selector, options?): Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>;
    properties(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    properties(properties): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>;
    recalculateCount(): Promise<boolean>;
    remove(selector, options?): Promise<DocumentMetadata & {
        old?: Edge<EntryResultType>;
    }>;
    removeAll(selectors, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        old?: Edge<EntryResultType>;
    })[]>;
    rename(newName): Promise<ArangoApiResponse<CollectionMetadata>>;
    replace(selector, newData, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    }>;
    replaceAll(newData, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    })[]>;
    revision(): Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        revision: string;
    }>>;
    save(data, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    }>;
    saveAll(data, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    })[]>;
    truncate(): Promise<ArangoApiResponse<CollectionMetadata>>;
    update(selector, newData, options?): Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    }>;
    updateAll(newData, options?): Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    })[]>;
}

Type Parameters

  • EntryResultType extends Record<string, any> = any
  • EntryInputType extends Record<string, any> = EntryResultType

Hierarchy (view full)

Properties

name: string

Name of the collection.

+

Methods

  • Retrieves the collection checksum.

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionMetadata & {
        checksum: string;
        revision: string;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const data = await collection.checksum();
    // data contains the collection's checksum +
    +
  • Triggers compaction for a collection.

    +

    Returns Promise<ArangoApiResponse<Record<string, never>>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.compact();
    // Background compaction is triggered on the collection +
    +
  • Creates a collection with the given options and the instance's name.

    +

    See also database.Database#createCollection and +database.Database#createEdgeCollection.

    +

    Note: When called on an EdgeCollection instance in TypeScript, +the type option must still be set to the correct CollectionType. +Otherwise this will result in the collection being created with the +default type (i.e. as a document collection).

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties>>

    Example

    const db = new Database();
    const collection = db.collection("potatoes");
    await collection.create();
    // the document collection "potatoes" now exists +
    +

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.create({ type: CollectionType.EDGE_COLLECTION });
    // the edge collection "friends" now exists +
    +

    Example

    interface Friend {
    startDate: number;
    endDate?: number;
    }
    const db = new Database();
    const collection = db.collection("friends") as EdgeCollection<Friend>;
    // even in TypeScript you still need to indicate the collection type
    // if you want to create an edge collection
    await collection.create({ type: CollectionType.EDGE_COLLECTION });
    // the edge collection "friends" now exists +
    +
  • Retrieves the document matching the given key or id.

    +

    Throws an exception when passed a document or _id from a different +collection, or if the document does not exist.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionReadOptions

      Options for retrieving the document.

      +

    Returns Promise<Edge<EntryResultType>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const document = await collection.document("abc123");
    console.log(document);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const document = await collection.document("abc123", { graceful: true });
    if (document) {
    console.log(document);
    } else {
    console.error("Document does not exist");
    } +
    +
  • Retrieves the document matching the given key or id.

    +

    Throws an exception when passed a document or _id from a different +collection, or if the document does not exist.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • graceful: boolean

      If set to true, null is returned instead of an +exception being thrown if the document does not exist.

      +

    Returns Promise<Edge<EntryResultType>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const document = await collection.document("abc123", false);
    console.log(document);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const document = await collection.document("abc123", true);
    if (document) {
    console.log(document);
    } else {
    console.error("Document does not exist");
    } +
    +
  • Checks whether a document matching the given key or id exists in this +collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const exists = await collection.documentExists("abc123");
    if (!exists) {
    console.log("Document does not exist");
    } +
    +
  • Derives a document _id from the given selector for this collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +

    Returns string

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const meta = await collection.save({ foo: "bar" }, { returnNew: true });
    const doc = meta.new;
    console.log(collection.documentId(meta)); // via meta._id
    console.log(collection.documentId(doc)); // via doc._id
    console.log(collection.documentId(meta._key)); // also works +
    +

    Example

    const db = new Database();
    const collection1 = db.collection("some-collection");
    const collection2 = db.collection("other-collection");
    const meta = await collection1.save({ foo: "bar" });
    // Mixing collections is usually a mistake
    console.log(collection1.documentId(meta)); // ok: same collection
    console.log(collection2.documentId(meta)); // throws: wrong collection
    console.log(collection2.documentId(meta._id)); // also throws
    console.log(collection2.documentId(meta._key)); // ok but wrong collection +
    +
  • Retrieves the documents matching the given key or id values.

    +

    Throws an exception when passed a document or _id from a different +collection, or if the document does not exist.

    +

    Parameters

    • selectors: (string | ObjectWithKey)[]

      Array of document _key, _id or objects with either +of those properties (e.g. a document from this collection).

      +
    • Optional options: CollectionBatchReadOptions

      Options for retrieving the documents.

      +

    Returns Promise<Edge<EntryResultType>[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    try {
    const documents = await collection.documents(["abc123", "xyz456"]);
    console.log(documents);
    } catch (e: any) {
    console.error("Could not find document");
    } +
    +
  • Deletes the collection from the database.

    +

    Parameters

    Returns Promise<ArangoApiResponse<Record<string, never>>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.drop();
    // The collection "some-collection" is now an ex-collection +
    +
  • Deletes the index with the given name or id from the database.

    +

    Parameters

    • selector: IndexSelector

      Index name, id or object with either property.

      +

    Returns Promise<ArangoApiResponse<{
        id: string;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.dropIndex("some-index");
    // The index "some-index" no longer exists +
    +
  • Retrieves a list of all edges of the document matching the given +selector.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>

    Example

    const db = new Database();
    const collection = db.collection("edges");
    await collection.import([
    ["_key", "_from", "_to"],
    ["x", "vertices/a", "vertices/b"],
    ["y", "vertices/a", "vertices/c"],
    ["z", "vertices/d", "vertices/a"],
    ]);
    const edges = await collection.edges("vertices/a");
    console.log(edges.map((edge) => edge._key)); // ["x", "y", "z"] +
    +
  • Creates a persistent index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        fields: string[];
        storedValues?: string[];
        type: "persistent";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create a unique index for looking up documents by username
    await collection.ensureIndex({
    type: "persistent",
    fields: ["username"],
    name: "unique-usernames",
    unique: true
    }); +
    +
  • Creates a TTL index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        expireAfter: number;
        fields: [string];
        selectivityEstimate: number;
        type: "ttl";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Expire documents with "createdAt" timestamp one day after creation
    await collection.ensureIndex({
    type: "ttl",
    fields: ["createdAt"],
    expireAfter: 60 * 60 * 24 // 24 hours
    }); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Expire documents with "expiresAt" timestamp according to their value
    await collection.ensureIndex({
    type: "ttl",
    fields: ["expiresAt"],
    expireAfter: 0 // when attribute value is exceeded
    }); +
    +
  • Creates a multi-dimensional index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        fieldValueTypes: "double";
        fields: string[];
        type: "mdi";
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-points");
    // Create a multi-dimensional index for the attributes x, y and z
    await collection.ensureIndex({
    type: "mdi",
    fields: ["x", "y", "z"],
    fieldValueTypes: "double"
    }); +
    +
    
    +
    +
  • Creates a geo index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        bestIndexedLevel: number;
        fields: [string, string] | [string];
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        type: "geo";
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create an index for GeoJSON data
    await collection.ensureIndex({
    type: "geo",
    fields: ["lngLat"],
    geoJson: true
    }); +
    +
  • Creates a inverted index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<GenericIndex & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        fields: {
            analyzer?: string;
            cache?: boolean;
            features?: AnalyzerFeature[];
            includeAllFields?: boolean;
            name: string;
            nested?: InvertedIndexNestedField[];
            searchField?: boolean;
            trackListPositions?: boolean;
        }[];
        includeAllFields: boolean;
        optimizeTopK: string[];
        parallelism: number;
        primaryKeyCache?: boolean;
        primarySort: {
            cache?: boolean;
            compression: Compression;
            fields: {
                direction: Direction;
                field: string;
            }[];
        };
        searchField: boolean;
        storedValues: {
            cache?: boolean;
            compression: Compression;
            fields: string[];
        }[];
        trackListPositions: boolean;
        type: "inverted";
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create an inverted index
    await collection.ensureIndex({
    type: "inverted",
    fields: ["a", { name: "b", analyzer: "text_en" }]
    }); +
    +
  • Creates an index on the collection if it does not already exist.

    +

    Parameters

    Returns Promise<ArangoApiResponse<Index & {
        isNewlyCreated: boolean;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    // Create a unique index for looking up documents by username
    await collection.ensureIndex({
    type: "persistent",
    fields: ["username"],
    name: "unique-usernames",
    unique: true
    }); +
    +
  • Checks whether the collection exists.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const result = await collection.exists();
    // result indicates whether the collection exists +
    +
  • Retrieves statistics for a collection.

    +

    Parameters

    • Optional details: boolean

      whether to return extended storage engine-specific details +to the figures, which may cause additional load and impact performance

      +

    Returns Promise<ArangoApiResponse<CollectionMetadata & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const data = await collection.figures();
    // data contains the collection's figures +
    +
  • Retrieves the shardId of the shard responsible for the given document.

    +

    Parameters

    Returns Promise<string>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const responsibleShard = await collection.getResponsibleShard(); +
    +
  • Bulk imports the given data into the collection.

    +

    Parameters

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    [
    { _key: "x", _from: "vertices/a", _to: "vertices/b", weight: 1 },
    { _key: "y", _from: "vertices/a", _to: "vertices/c", weight: 2 }
    ]
    ); +
    +
  • Bulk imports the given data into the collection.

    +

    Parameters

    • data: any[][]

      The data to import, as an array containing a single array of +attribute names followed by one or more arrays of attribute values for +each edge document.

      +
    • Optional options: CollectionImportOptions

      Options for importing the data.

      +

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    [
    [ "_key", "_from", "_to", "weight" ],
    [ "x", "vertices/a", "vertices/b", 1 ],
    [ "y", "vertices/a", "vertices/c", 2 ]
    ]
    ); +
    +
  • Bulk imports the given data into the collection.

    +

    If type is omitted, data must contain one JSON array per line with +the first array providing the attribute names and all other arrays +providing attribute values for each edge document.

    +

    If type is set to "documents", data must contain one JSON document +per line.

    +

    If type is set to "list", data must contain a JSON array of +edge documents.

    +

    If type is set to "auto", data can be in either of the formats +supported by "documents" or "list".

    +

    Parameters

    • data: string | Buffer | Blob

      The data to import as a Buffer (Node), Blob (browser) or +string.

      +
    • Optional options: CollectionImportOptions & {
          type?: "documents" | "list" | "auto";
      }

      Options for importing the data.

      +

    Returns Promise<CollectionImportResult>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '{"_key":"x","_from":"vertices/a","_to":"vertices/b","weight":1}\r\n' +
    '{"_key":"y","_from":"vertices/a","_to":"vertices/c","weight":2}\r\n',
    { type: "documents" } // or "auto"
    ); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '[{"_key":"x","_from":"vertices/a","_to":"vertices/b","weight":1},' +
    '{"_key":"y","_from":"vertices/a","_to":"vertices/c","weight":2}]',
    { type: "list" } // or "auto"
    ); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    await collection.import(
    '["_key","_from","_to","weight"]\r\n' +
    '["x","vertices/a","vertices/b",1]\r\n' +
    '["y","vertices/a","vertices/c",2]\r\n'
    ); +
    +
  • Retrieves a list of all incoming edges of the document matching the given +selector.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>

    Example

    const db = new Database();
    const collection = db.collection("edges");
    await collection.import([
    ["_key", "_from", "_to"],
    ["x", "vertices/a", "vertices/b"],
    ["y", "vertices/a", "vertices/c"],
    ["z", "vertices/d", "vertices/a"],
    ]);
    const edges = await collection.inEdges("vertices/a");
    console.log(edges.map((edge) => edge._key)); // ["z"] +
    +
  • Returns an index description by name or id if it exists.

    +

    Parameters

    • selector: IndexSelector

      Index name, id or object with either property.

      +

    Returns Promise<Index>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const index = await collection.index("some-index"); +
    +
  • Returns a list of all index descriptions for the collection.

    +

    Type Parameters

    Parameters

    Returns Promise<IndexType[]>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const indexes = await collection.indexes(); +
    +

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    const allIndexes = await collection.indexes<HiddenIndex>({
    withHidden: true
    }); +
    +
  • Instructs ArangoDB to load as many indexes of the collection into memory +as permitted by the memory limit.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("indexed-collection");
    await collection.loadIndexes();
    // the indexes are now loaded into memory +
    +
  • Retrieves a list of all outgoing edges of the document matching the given +selector.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<CollectionEdgesResult<EntryResultType>>>

    Example

    const db = new Database();
    const collection = db.collection("edges");
    await collection.import([
    ["_key", "_from", "_to"],
    ["x", "vertices/a", "vertices/b"],
    ["y", "vertices/a", "vertices/c"],
    ["z", "vertices/d", "vertices/a"],
    ]);
    const edges = await collection.outEdges("vertices/a");
    console.log(edges.map((edge) => edge._key)); // ["x", "y"] +
    +
  • Instructs ArangoDB to recalculate the collection's document count to fix +any inconsistencies.

    +

    Returns Promise<boolean>

    Example

    const db = new Database();
    const collection = db.collection("inconsistent-collection");
    const badData = await collection.count();
    // oh no, the collection count looks wrong -- fix it!
    await collection.recalculateCount();
    const goodData = await collection.count();
    // goodData contains the collection's improved count +
    +
  • Removes an existing document from the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    • selector: DocumentSelector

      Document _key, _id or object with either of those +properties (e.g. a document from this collection).

      +
    • Optional options: CollectionRemoveOptions

      Options for removing the document.

      +

    Returns Promise<DocumentMetadata & {
        old?: Edge<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    const doc = await collection.document("musadir");
    await collection.remove(doc);
    // document with key "musadir" deleted +
    +
  • Renames the collection and updates the instance's name to newName.

    +

    Additionally removes the instance from the database.Database's internal +cache.

    +

    Note: Renaming collections may not be supported when ArangoDB is +running in a cluster configuration.

    +

    Parameters

    • newName: string

      The new name of the collection.

      +

    Returns Promise<ArangoApiResponse<CollectionMetadata>>

    Example

    const db = new Database();
    const collection1 = db.collection("some-collection");
    await collection1.rename("other-collection");
    const collection2 = db.collection("some-collection");
    const collection3 = db.collection("other-collection");
    // Note all three collection instances are different objects but
    // collection1 and collection3 represent the same ArangoDB collection! +
    +
  • Replaces an existing document in the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.save(
    {
    _key: "musadir",
    _from: "users/rana",
    _to: "users/mudasir",
    active: true,
    best: true
    }
    );
    const result = await collection.replace(
    "musadir",
    { active: false },
    { returnNew: true }
    );
    console.log(result.new.active, result.new.best); // false undefined +
    +
  • Replaces existing documents in the collection, identified by the _key or +_id of each document.

    +

    Parameters

    Returns Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    })[]>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.save(
    {
    _key: "musadir",
    _from: "users/rana",
    _to: "users/mudasir",
    active: true,
    best: true
    }
    );
    await collection.save(
    {
    _key: "salman",
    _from: "users/rana",
    _to: "users/salman",
    active: false,
    best: false
    }
    );
    const result = await collection.replaceAll(
    [
    { _key: "musadir", active: false },
    { _key: "salman", active: true, best: true }
    ],
    { returnNew: true }
    );
    console.log(result[0].new.active, result[0].new.best); // false undefined
    console.log(result[1].new.active, result[1].new.best); // true true +
    +
  • Updates an existing document in the collection.

    +

    Throws an exception when passed a document or _id from a different +collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("friends");
    await collection.save(
    {
    _key: "musadir",
    _from: "users/rana",
    _to: "users/mudasir",
    active: true,
    best: true
    }
    );
    const result = await collection.update(
    "musadir",
    { active: false },
    { returnNew: true }
    );
    console.log(result.new.active, result.new.best); // false true +
    +
  • Updates existing documents in the collection, identified by the _key or +_id of each document.

    +

    Parameters

    • newData: (Patch<DocumentData<EntryInputType>> & ({
          _key: string;
      } | {
          _id: string;
      }))[]

      The data for updating the documents.

      +
    • Optional options: CollectionUpdateOptions

      Options for updating the documents.

      +
      const db = new Database();
      const collection = db.collection("friends");
      await collection.save(
      {
      _key: "musadir",
      _from: "users/rana",
      _to: "users/mudasir",
      active: true,
      best: true
      }
      );
      await collection.save(
      {
      _key: "salman",
      _from: "users/rana",
      _to: "users/salman",
      active: false,
      best: false
      }
      );
      const result = await collection.updateAll(
      [
      { _key: "musadir", active: false },
      { _key: "salman", active: true, best: true }
      ],
      { returnNew: true }
      );
      console.log(result[0].new.active, result[0].new.best); // false true
      console.log(result[1].new.active, result[1].new.best); // true true +
      +

    Returns Promise<(DocumentOperationFailure | DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Edge<EntryResultType>;
        old?: Edge<EntryResultType>;
    })[]>

\ No newline at end of file diff --git a/9.1.0/interfaces/cursor.CursorExtras.html b/9.1.0/interfaces/cursor.CursorExtras.html new file mode 100644 index 00000000..65182204 --- /dev/null +++ b/9.1.0/interfaces/cursor.CursorExtras.html @@ -0,0 +1,10 @@ +CursorExtras | arangojs - v9.1.0

Interface CursorExtras

Additional information about the cursor.

+
interface CursorExtras {
    plan?: Record<string, any>;
    profile?: Record<string, number>;
    stats?: CursorStats;
    warnings: {
        code: number;
        message: string;
    }[];
}

Properties

Properties

plan?: Record<string, any>

Query execution plan for the executed query.

+
profile?: Record<string, number>

Additional profiling information for the executed query.

+
stats?: CursorStats

Additional statistics about the query execution.

+
warnings: {
    code: number;
    message: string;
}[]

Warnings encountered while executing the query.

+

Type declaration

  • code: number
  • message: string
\ No newline at end of file diff --git a/9.1.0/interfaces/cursor.CursorStats.html b/9.1.0/interfaces/cursor.CursorStats.html new file mode 100644 index 00000000..e136077e --- /dev/null +++ b/9.1.0/interfaces/cursor.CursorStats.html @@ -0,0 +1,36 @@ +CursorStats | arangojs - v9.1.0

Interface CursorStats

Additional statics about the query execution of the cursor.

+
interface CursorStats {
    cacheHits: number;
    cacheMisses: number;
    cursorsCreated: number;
    cursorsRearmed: number;
    executionTime: number;
    filtered: number;
    fullCount?: number;
    httpRequests: number;
    nodes?: {
        calls: number;
        filter: number;
        id: number;
        items: number;
        runtime: number;
    }[];
    peakMemoryUsage: number;
    scannedFull: number;
    scannedIndex: number;
    writesExecuted: number;
    writesIgnored: number;
}

Properties

cacheHits: number

Total number of index entries read from in-memory caches for indexes of +type edge or persistent.

+
cacheMisses: number

Total number of cache read attempts for index entries that could not be +served from in-memory caches for indexes of type edge or persistent.

+
cursorsCreated: number

Total number of cursor objects created during query execution.

+
cursorsRearmed: number

Total number of times an existing cursor object was repurposed.

+
executionTime: number

Execution time of the query in seconds.

+
filtered: number

Total number of documents that were removed after executing a filter condition in a FilterNode.

+
fullCount?: number

Total number of documents that matched the search condition if the query’s final top-level LIMIT statement were not present.

+
httpRequests: number

Total number of cluster-internal HTTP requests performed.

+
nodes?: {
    calls: number;
    filter: number;
    id: number;
    items: number;
    runtime: number;
}[]

Runtime statistics per query execution node if profile was set to 2 or greater.

+

Type declaration

  • calls: number

    Number of calls in this node.

    +
  • filter: number
  • id: number

    Execution node ID to correlate this node with nodes in the extra.plan.

    +
  • items: number

    Number of temporary result items returned by this node.

    +
  • runtime: number

    Execution time of this node in seconds.

    +
peakMemoryUsage: number

Maximum memory usage of the query while it was running.

+
scannedFull: number

Total number of documents iterated over when scanning a collection without an index.

+
scannedIndex: number

Total number of documents iterated over when scanning a collection using an index.

+
writesExecuted: number

Total number of data-modification operations successfully executed.

+
writesIgnored: number

Total number of data-modification operations that were unsuccessful, but have been ignored because of query option ignoreErrors.

+
\ No newline at end of file diff --git a/9.1.0/interfaces/error.SystemError.html b/9.1.0/interfaces/error.SystemError.html new file mode 100644 index 00000000..0c9dec8a --- /dev/null +++ b/9.1.0/interfaces/error.SystemError.html @@ -0,0 +1,5 @@ +SystemError | arangojs - v9.1.0

Interface SystemError

Interface representing a Node.js SystemError.

+
interface SystemError {
    code: string;
    errno: string | number;
    syscall: string;
}

Hierarchy

  • Error
    • SystemError

Properties

Properties

code: string
errno: string | number
syscall: string
\ No newline at end of file diff --git a/9.1.0/interfaces/view.ArangoSearchViewStoredValueOptions.html b/9.1.0/interfaces/view.ArangoSearchViewStoredValueOptions.html new file mode 100644 index 00000000..9a519ec9 --- /dev/null +++ b/9.1.0/interfaces/view.ArangoSearchViewStoredValueOptions.html @@ -0,0 +1,12 @@ +ArangoSearchViewStoredValueOptions | arangojs - v9.1.0

Interface ArangoSearchViewStoredValueOptions

Options for creating a stored value in an ArangoSearch View.

+
interface ArangoSearchViewStoredValueOptions {
    cache?: boolean;
    compression?: Compression;
    fields: string[];
}

Properties

Properties

cache?: boolean

(Enterprise Edition only.) If set to true, then stored values will +always be cached in memory.

+

Default: false

+
compression?: Compression

How the attribute values should be compressed.

+

Default: "lz4"

+
fields: string[]

Attribute paths for which values should be stored in the view index +in addition to those used for sorting via primarySort.

+
\ No newline at end of file diff --git a/9.1.0/modules/analyzer.html b/9.1.0/modules/analyzer.html new file mode 100644 index 00000000..b3fccfbc --- /dev/null +++ b/9.1.0/modules/analyzer.html @@ -0,0 +1,49 @@ +analyzer | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/modules/aql.html b/9.1.0/modules/aql.html new file mode 100644 index 00000000..094fec59 --- /dev/null +++ b/9.1.0/modules/aql.html @@ -0,0 +1,14 @@ +aql | arangojs - v9.1.0

Module aql

import { aql } from "arangojs/aql.js";
+
+

The "aql" module provides the aql template string handler and +helper functions, as well as associated types and interfaces for TypeScript.

+

The aql function and namespace is also re-exported by the "index" module.

+

Index

Interfaces

Type Aliases

Functions

\ No newline at end of file diff --git a/9.1.0/modules/collection.html b/9.1.0/modules/collection.html new file mode 100644 index 00000000..f1fab93c --- /dev/null +++ b/9.1.0/modules/collection.html @@ -0,0 +1,42 @@ +collection | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/modules/connection.html b/9.1.0/modules/connection.html new file mode 100644 index 00000000..a71c2ed5 --- /dev/null +++ b/9.1.0/modules/connection.html @@ -0,0 +1,12 @@ +connection | arangojs - v9.1.0

Module connection

import type { Config } from "arangojs/connection.js";
+
+

The "connection" module provides connection and configuration related types +for TypeScript.

+

Index

Type Aliases

\ No newline at end of file diff --git a/9.1.0/modules/cursor.html b/9.1.0/modules/cursor.html new file mode 100644 index 00000000..c7903c58 --- /dev/null +++ b/9.1.0/modules/cursor.html @@ -0,0 +1,8 @@ +cursor | arangojs - v9.1.0

Module cursor

import type { ArrayCursor, BatchedArrayCursor } from "arangojs/cursor.js";
+
+

The "cursor" module provides cursor-related interfaces for TypeScript.

+

Index

Classes

Interfaces

\ No newline at end of file diff --git a/9.1.0/modules/database.html b/9.1.0/modules/database.html new file mode 100644 index 00000000..41c7e35b --- /dev/null +++ b/9.1.0/modules/database.html @@ -0,0 +1,70 @@ +database | arangojs - v9.1.0

Module database

import { Database } from "arangojs/database.js";
+
+

The "database" module provides the Database class and associated +types and interfaces for TypeScript.

+

The Database class is also re-exported by the "index" module.

+

Index

Enumerations

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/9.1.0/modules/documents.html b/9.1.0/modules/documents.html new file mode 100644 index 00000000..1450aec1 --- /dev/null +++ b/9.1.0/modules/documents.html @@ -0,0 +1,14 @@ +documents | arangojs - v9.1.0

Module documents

import type { Document, Edge } from "arangojs/documents.js";
+
+

The "documents" module provides document/edge related types for TypeScript.

+

Index

Type Aliases

\ No newline at end of file diff --git a/9.1.0/modules/error.html b/9.1.0/modules/error.html new file mode 100644 index 00000000..d75ce9df --- /dev/null +++ b/9.1.0/modules/error.html @@ -0,0 +1,10 @@ +error | arangojs - v9.1.0

Module error

import type { ArangoError, HttpError } from "arangojs/error.js";
+
+

The "error" module provides types and interfaces for TypeScript related +to arangojs error handling.

+

Index

Classes

Interfaces

Functions

\ No newline at end of file diff --git a/9.1.0/modules/foxx_manifest.html b/9.1.0/modules/foxx_manifest.html new file mode 100644 index 00000000..3513724a --- /dev/null +++ b/9.1.0/modules/foxx_manifest.html @@ -0,0 +1,10 @@ +foxx-manifest | arangojs - v9.1.0

Module foxx-manifest

import type { FoxxManifest } from "arangojs/foxx-manifest.js";
+
+

The "foxx-manifest" module provides the Foxx manifest type for TypeScript.

+

Generated from JSON Schema +using json-schema-to-typescript.

+

Index

Type Aliases

\ No newline at end of file diff --git a/9.1.0/modules/graph.html b/9.1.0/modules/graph.html new file mode 100644 index 00000000..d845d2ed --- /dev/null +++ b/9.1.0/modules/graph.html @@ -0,0 +1,20 @@ +graph | arangojs - v9.1.0

Module graph

import type {
Graph,
GraphVertexCollection,
GraphEdgeCollection,
} from "arangojs/graph.js"; +
+

The "graph" module provides graph related types and interfaces +for TypeScript.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/9.1.0/modules/index.html b/9.1.0/modules/index.html new file mode 100644 index 00000000..19100d50 --- /dev/null +++ b/9.1.0/modules/index.html @@ -0,0 +1,12 @@ +index | arangojs - v9.1.0

Module index

import arangojs, { aql, Database } from "arangojs";
+
+

The "index" module is the default entry point when importing the arangojs +module or using the web build in the browser.

+

If you are just getting started, you probably want to use the +arangojs function, which is also the default export of this module, +or the database.Database class for which it is a wrapper.

+

References

Functions

References

Re-exports Database
Re-exports aql
Renames and re-exports arangojs
\ No newline at end of file diff --git a/9.1.0/modules/indexes.html b/9.1.0/modules/indexes.html new file mode 100644 index 00000000..fa55ae0a --- /dev/null +++ b/9.1.0/modules/indexes.html @@ -0,0 +1,30 @@ +indexes | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/modules/job.html b/9.1.0/modules/job.html new file mode 100644 index 00000000..a04c2c95 --- /dev/null +++ b/9.1.0/modules/job.html @@ -0,0 +1,2 @@ +job | arangojs - v9.1.0

Module job

Index

Classes

Job +
\ No newline at end of file diff --git a/9.1.0/modules/route.html b/9.1.0/modules/route.html new file mode 100644 index 00000000..e495f5b2 --- /dev/null +++ b/9.1.0/modules/route.html @@ -0,0 +1,5 @@ +route | arangojs - v9.1.0

Module route

import type { Route } from "arangojs/route.js";
+
+

The "route" module provides route related types and interfaces for TypeScript.

+

Index

Classes

\ No newline at end of file diff --git a/9.1.0/modules/transaction.html b/9.1.0/modules/transaction.html new file mode 100644 index 00000000..984fcbd4 --- /dev/null +++ b/9.1.0/modules/transaction.html @@ -0,0 +1,10 @@ +transaction | arangojs - v9.1.0

Module transaction

import type { Transaction } from "arangojs/transaction.js";
+
+

The "transaction" module provides transaction related types and interfaces +for TypeScript.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/9.1.0/modules/view.html b/9.1.0/modules/view.html new file mode 100644 index 00000000..5c520f92 --- /dev/null +++ b/9.1.0/modules/view.html @@ -0,0 +1,31 @@ +view | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/types/analyzer.AnalyzerDescription.html b/9.1.0/types/analyzer.AnalyzerDescription.html new file mode 100644 index 00000000..bd704894 --- /dev/null +++ b/9.1.0/types/analyzer.AnalyzerDescription.html @@ -0,0 +1,2 @@ +AnalyzerDescription | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/types/analyzer.AnalyzerFeature.html b/9.1.0/types/analyzer.AnalyzerFeature.html new file mode 100644 index 00000000..ebc10667 --- /dev/null +++ b/9.1.0/types/analyzer.AnalyzerFeature.html @@ -0,0 +1,2 @@ +AnalyzerFeature | arangojs - v9.1.0

Type alias AnalyzerFeature

AnalyzerFeature: "frequency" | "norm" | "position" | "offset"

Name of a feature enabled for an Analyzer.

+
\ No newline at end of file diff --git a/9.1.0/types/analyzer.AqlAnalyzerDescription.html b/9.1.0/types/analyzer.AqlAnalyzerDescription.html new file mode 100644 index 00000000..879e741c --- /dev/null +++ b/9.1.0/types/analyzer.AqlAnalyzerDescription.html @@ -0,0 +1,2 @@ +AqlAnalyzerDescription | arangojs - v9.1.0

Type alias AqlAnalyzerDescription

AqlAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        batchSize: number;
        collapsePositions: boolean;
        keepNull: boolean;
        memoryLimit: number;
        queryString: string;
        returnType: "string" | "number" | "bool";
    };
    type: "aql";
}

An object describing an AQL Analyzer

+

Type declaration

  • properties: {
        batchSize: number;
        collapsePositions: boolean;
        keepNull: boolean;
        memoryLimit: number;
        queryString: string;
        returnType: "string" | "number" | "bool";
    }
    • batchSize: number
    • collapsePositions: boolean
    • keepNull: boolean
    • memoryLimit: number
    • queryString: string
    • returnType: "string" | "number" | "bool"
  • type: "aql"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.ClassificationAnalyzerDescription.html b/9.1.0/types/analyzer.ClassificationAnalyzerDescription.html new file mode 100644 index 00000000..442b70f5 --- /dev/null +++ b/9.1.0/types/analyzer.ClassificationAnalyzerDescription.html @@ -0,0 +1,2 @@ +ClassificationAnalyzerDescription | arangojs - v9.1.0

Type alias ClassificationAnalyzerDescription

ClassificationAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        model_location: string;
        threshold: number;
        top_k: number;
    };
    type: "classification";
}

(Enterprise Edition only.) An object describing a Classification Analyzer

+

Type declaration

  • properties: {
        model_location: string;
        threshold: number;
        top_k: number;
    }
    • model_location: string
    • threshold: number
    • top_k: number
  • type: "classification"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CollationAnalyzerDescription.html b/9.1.0/types/analyzer.CollationAnalyzerDescription.html new file mode 100644 index 00000000..d0b1c3a0 --- /dev/null +++ b/9.1.0/types/analyzer.CollationAnalyzerDescription.html @@ -0,0 +1,2 @@ +CollationAnalyzerDescription | arangojs - v9.1.0

Type alias CollationAnalyzerDescription

CollationAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        locale: string;
    };
    type: "collation";
}

An object describing a Collation Analyzer

+

Type declaration

  • properties: {
        locale: string;
    }
    • locale: string
  • type: "collation"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateAnalyzerOptions.html b/9.1.0/types/analyzer.CreateAnalyzerOptions.html new file mode 100644 index 00000000..1180b202 --- /dev/null +++ b/9.1.0/types/analyzer.CreateAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateAnalyzerOptions | arangojs - v9.1.0
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateAqlAnalyzerOptions.html b/9.1.0/types/analyzer.CreateAqlAnalyzerOptions.html new file mode 100644 index 00000000..9dae87e9 --- /dev/null +++ b/9.1.0/types/analyzer.CreateAqlAnalyzerOptions.html @@ -0,0 +1,17 @@ +CreateAqlAnalyzerOptions | arangojs - v9.1.0

Type alias CreateAqlAnalyzerOptions

CreateAqlAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        batchSize?: number;
        collapsePositions?: boolean;
        keepNull?: boolean;
        memoryLimit?: number;
        queryString: string;
        returnType?: "string" | "number" | "bool";
    };
    type: "aql";
}

Options for creating an AQL Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        batchSize?: number;
        collapsePositions?: boolean;
        keepNull?: boolean;
        memoryLimit?: number;
        queryString: string;
        returnType?: "string" | "number" | "bool";
    }

    Additional properties for the Analyzer.

    +
    • Optional batchSize?: number

      Number between 1 and 1000 that determines the batch size for reading +data from the query.

      +

      Default: 1

      +
    • Optional collapsePositions?: boolean

      If set to true, the position is set to 0 for all members of the query result array.

      +

      Default: false

      +
    • Optional keepNull?: boolean

      If set to false, null values will be discarded from the View index.

      +

      Default: true

      +
    • Optional memoryLimit?: number

      Memory limit for query execution in bytes.

      +

      Default: 1048576 (1 MiB)

      +
    • queryString: string

      AQL query to be executed.

      +
    • Optional returnType?: "string" | "number" | "bool"

      Data type of the returned tokens.

      +

      Default: "string"

      +
  • type: "aql"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateClassificationAnalyzerOptions.html b/9.1.0/types/analyzer.CreateClassificationAnalyzerOptions.html new file mode 100644 index 00000000..57a434b8 --- /dev/null +++ b/9.1.0/types/analyzer.CreateClassificationAnalyzerOptions.html @@ -0,0 +1,10 @@ +CreateClassificationAnalyzerOptions | arangojs - v9.1.0

Type alias CreateClassificationAnalyzerOptions

CreateClassificationAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        model_location: string;
        threshold?: number;
        top_k?: number;
    };
    type: "classification";
}

(Enterprise Edition only.) Options for creating a Classification Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        model_location: string;
        threshold?: number;
        top_k?: number;
    }

    Additional properties for the Analyzer.

    +
    • model_location: string

      On-disk path to the trained fastText supervised model.

      +
    • Optional threshold?: number

      Probability threshold for which a label will be assigned to an input.

      +

      Default: 0.99

      +
    • Optional top_k?: number

      Number of class labels that will be produced per input.

      +

      Default: 1

      +
  • type: "classification"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateCollationAnalyzerOptions.html b/9.1.0/types/analyzer.CreateCollationAnalyzerOptions.html new file mode 100644 index 00000000..1d3b6fa3 --- /dev/null +++ b/9.1.0/types/analyzer.CreateCollationAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateCollationAnalyzerOptions | arangojs - v9.1.0

Type alias CreateCollationAnalyzerOptions

CreateCollationAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        locale: string;
    };
    type: "collation";
}

Options for creating a Collation Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        locale: string;
    }

    Additional properties for the Analyzer.

    +
    • locale: string

      Text locale.

      +

      Format: language[_COUNTRY][.encoding][@variant]

      +
  • type: "collation"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateDelimiterAnalyzerOptions.html b/9.1.0/types/analyzer.CreateDelimiterAnalyzerOptions.html new file mode 100644 index 00000000..2a7c7d3f --- /dev/null +++ b/9.1.0/types/analyzer.CreateDelimiterAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateDelimiterAnalyzerOptions | arangojs - v9.1.0

Type alias CreateDelimiterAnalyzerOptions

CreateDelimiterAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: string | {
        delimiter: string;
    };
    type: "delimiter";
}

Options for creating a Delimiter Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: string | {
        delimiter: string;
    }

    Additional properties for the Analyzer.

    +

    The value will be used as delimiter to split text into tokens as specified +in RFC 4180, without starting new records on newlines.

    +
  • type: "delimiter"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateGeoJsonAnalyzerOptions.html b/9.1.0/types/analyzer.CreateGeoJsonAnalyzerOptions.html new file mode 100644 index 00000000..c87bdb70 --- /dev/null +++ b/9.1.0/types/analyzer.CreateGeoJsonAnalyzerOptions.html @@ -0,0 +1,12 @@ +CreateGeoJsonAnalyzerOptions | arangojs - v9.1.0

Type alias CreateGeoJsonAnalyzerOptions

CreateGeoJsonAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        options?: {
            maxCells?: number;
            maxLevel?: number;
            minLevel?: number;
        };
        type?: "shape" | "centroid" | "point";
    };
    type: "geojson";
}

Options for creating a GeoJSON Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        options?: {
            maxCells?: number;
            maxLevel?: number;
            minLevel?: number;
        };
        type?: "shape" | "centroid" | "point";
    }

    Additional properties for the Analyzer.

    +
    • Optional options?: {
          maxCells?: number;
          maxLevel?: number;
          minLevel?: number;
      }

      Options for fine-tuning geo queries.

      +

      Default: { maxCells: 20, minLevel: 4, maxLevel: 23 }

      +
      • Optional maxCells?: number
      • Optional maxLevel?: number
      • Optional minLevel?: number
    • Optional type?: "shape" | "centroid" | "point"

      If set to "centroid", only the centroid of the input geometry will be +computed and indexed.

      +

      If set to "point" only GeoJSON objects of type Point will be indexed and +all other geometry types will be ignored.

      +

      Default: "shape"

      +
  • type: "geojson"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateGeoPointAnalyzerOptions.html b/9.1.0/types/analyzer.CreateGeoPointAnalyzerOptions.html new file mode 100644 index 00000000..b622ea91 --- /dev/null +++ b/9.1.0/types/analyzer.CreateGeoPointAnalyzerOptions.html @@ -0,0 +1,11 @@ +CreateGeoPointAnalyzerOptions | arangojs - v9.1.0

Type alias CreateGeoPointAnalyzerOptions

CreateGeoPointAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        latitude?: string[];
        longitude?: string[];
        options?: {
            maxLevel?: number;
            minCells?: number;
            minLevel?: number;
        };
    };
    type: "geopoint";
}

Options for creating a GeoPoint Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        latitude?: string[];
        longitude?: string[];
        options?: {
            maxLevel?: number;
            minCells?: number;
            minLevel?: number;
        };
    }

    Additional properties for the Analyzer.

    +
    • Optional latitude?: string[]

      Attribute paths of the latitude value relative to the field for which the +Analyzer is defined in the View.

      +
    • Optional longitude?: string[]

      Attribute paths of the longitude value relative to the field for which the +Analyzer is defined in the View.

      +
    • Optional options?: {
          maxLevel?: number;
          minCells?: number;
          minLevel?: number;
      }

      Options for fine-tuning geo queries.

      +

      Default: { maxCells: 20, minLevel: 4, maxLevel: 23 }

      +
      • Optional maxLevel?: number
      • Optional minCells?: number
      • Optional minLevel?: number
  • type: "geopoint"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateGeoS2AnalyzerOptions.html b/9.1.0/types/analyzer.CreateGeoS2AnalyzerOptions.html new file mode 100644 index 00000000..b0adffb8 --- /dev/null +++ b/9.1.0/types/analyzer.CreateGeoS2AnalyzerOptions.html @@ -0,0 +1,19 @@ +CreateGeoS2AnalyzerOptions | arangojs - v9.1.0

Type alias CreateGeoS2AnalyzerOptions

CreateGeoS2AnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        format?: "latLngDouble" | "latLngInt" | "s2Point";
        options?: {
            maxCells?: number;
            maxLevel?: number;
            minLevel?: number;
        };
        type?: "shape" | "centroid" | "point";
    };
    type: "geo_s2";
}

(Enterprise Edition only.) Options for creating a Geo S2 Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        format?: "latLngDouble" | "latLngInt" | "s2Point";
        options?: {
            maxCells?: number;
            maxLevel?: number;
            minLevel?: number;
        };
        type?: "shape" | "centroid" | "point";
    }

    Additional properties for the Analyzer.

    +
    • Optional format?: "latLngDouble" | "latLngInt" | "s2Point"

      If set to "latLngDouble", each latitude and longitude value is stored +as an 8-byte floating-point value (16 bytes per coordinate pair).

      +

      If set to "latLngInt", each latitude and longitude value is stored as +a 4-byte integer value (8 bytes per coordinate pair).

      +

      If set to "s2Point", each longitude-latitude pair is stored in the +native format of Google S2 (24 bytes per coordinate pair).

      +

      Default: "latLngDouble"

      +
    • Optional options?: {
          maxCells?: number;
          maxLevel?: number;
          minLevel?: number;
      }

      Options for fine-tuning geo queries.

      +

      Default: { maxCells: 20, minLevel: 4, maxLevel: 23 }

      +
      • Optional maxCells?: number
      • Optional maxLevel?: number
      • Optional minLevel?: number
    • Optional type?: "shape" | "centroid" | "point"

      If set to "centroid", only the centroid of the input geometry will be +computed and indexed.

      +

      If set to "point" only GeoJSON objects of type Point will be indexed and +all other geometry types will be ignored.

      +

      Default: "shape"

      +
  • type: "geo_s2"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateIdentityAnalyzerOptions.html b/9.1.0/types/analyzer.CreateIdentityAnalyzerOptions.html new file mode 100644 index 00000000..75485596 --- /dev/null +++ b/9.1.0/types/analyzer.CreateIdentityAnalyzerOptions.html @@ -0,0 +1,6 @@ +CreateIdentityAnalyzerOptions | arangojs - v9.1.0

Type alias CreateIdentityAnalyzerOptions

CreateIdentityAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties?: Record<string, never>;
    type: "identity";
}

Options for creating an Identity Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • Optional properties?: Record<string, never>

    Additional properties for the Analyzer.

    +

    The identity Analyzer does not take additional properties.

    +
  • type: "identity"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateMinHashAnalyzerOptions.html b/9.1.0/types/analyzer.CreateMinHashAnalyzerOptions.html new file mode 100644 index 00000000..c0a329fd --- /dev/null +++ b/9.1.0/types/analyzer.CreateMinHashAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateMinHashAnalyzerOptions | arangojs - v9.1.0

Type alias CreateMinHashAnalyzerOptions

CreateMinHashAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        analyzer: Omit<CreateAnalyzerOptions, "features">;
        numHashes: number;
    };
    type: "minhash";
}

(Enterprise Edition only.) Options for creating a MinHash Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        analyzer: Omit<CreateAnalyzerOptions, "features">;
        numHashes: number;
    }

    Additional properties for the Analyzer.

    +
    • analyzer: Omit<CreateAnalyzerOptions, "features">

      An Analyzer definition-like object with type and properties attributes.

      +
    • numHashes: number

      Size of the MinHash signature.

      +
  • type: "minhash"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateMultiDelimiterAnalyzerOptions.html b/9.1.0/types/analyzer.CreateMultiDelimiterAnalyzerOptions.html new file mode 100644 index 00000000..0bef93bb --- /dev/null +++ b/9.1.0/types/analyzer.CreateMultiDelimiterAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateMultiDelimiterAnalyzerOptions | arangojs - v9.1.0

Type alias CreateMultiDelimiterAnalyzerOptions

CreateMultiDelimiterAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        delimiters: string[];
    };
    type: "multi_delimiter";
}

Options for creating a Multi-Delimiter Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        delimiters: string[];
    }

    Additional properties for the Analyzer.

    +

    The value will be used as delimiter to split text into tokens as specified +in RFC 4180, without starting new records on newlines.

    +
    • delimiters: string[]
  • type: "multi_delimiter"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateNearestNeighborsAnalyzerOptions.html b/9.1.0/types/analyzer.CreateNearestNeighborsAnalyzerOptions.html new file mode 100644 index 00000000..1d77d847 --- /dev/null +++ b/9.1.0/types/analyzer.CreateNearestNeighborsAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateNearestNeighborsAnalyzerOptions | arangojs - v9.1.0

Type alias CreateNearestNeighborsAnalyzerOptions

CreateNearestNeighborsAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        model_location: string;
        top_k?: number;
    };
    type: "nearest_neighbors";
}

(Enterprise Edition only.) Options for creating a NearestNeighbors Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        model_location: string;
        top_k?: number;
    }

    Additional properties for the Analyzer.

    +
    • model_location: string

      On-disk path to the trained fastText supervised model.

      +
    • Optional top_k?: number

      Number of class labels that will be produced per input.

      +

      Default: 1

      +
  • type: "nearest_neighbors"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateNgramAnalyzerOptions.html b/9.1.0/types/analyzer.CreateNgramAnalyzerOptions.html new file mode 100644 index 00000000..b70c8950 --- /dev/null +++ b/9.1.0/types/analyzer.CreateNgramAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateNgramAnalyzerOptions | arangojs - v9.1.0

Type alias CreateNgramAnalyzerOptions

CreateNgramAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    };
    type: "ngram";
}

Options for creating an Ngram Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    }

    Additional properties for the Analyzer.

    +
    • max: number

      Maximum n-gram length.

      +
    • min: number

      Minimum n-gram length.

      +
    • preserveOriginal: boolean

      Output the original value as well.

      +
  • type: "ngram"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateNormAnalyzerOptions.html b/9.1.0/types/analyzer.CreateNormAnalyzerOptions.html new file mode 100644 index 00000000..12475328 --- /dev/null +++ b/9.1.0/types/analyzer.CreateNormAnalyzerOptions.html @@ -0,0 +1,11 @@ +CreateNormAnalyzerOptions | arangojs - v9.1.0

Type alias CreateNormAnalyzerOptions

CreateNormAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        accent?: boolean;
        case?: "lower" | "none" | "upper";
        locale: string;
    };
    type: "norm";
}

Options for creating a Norm Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        accent?: boolean;
        case?: "lower" | "none" | "upper";
        locale: string;
    }

    Additional properties for the Analyzer.

    +
    • Optional accent?: boolean

      Preserve accents in returned words.

      +

      Default: false

      +
    • Optional case?: "lower" | "none" | "upper"

      Case conversion.

      +

      Default: "lower"

      +
    • locale: string

      Text locale.

      +

      Format: language[_COUNTRY][.encoding][@variant]

      +
  • type: "norm"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreatePipelineAnalyzerOptions.html b/9.1.0/types/analyzer.CreatePipelineAnalyzerOptions.html new file mode 100644 index 00000000..a68886cc --- /dev/null +++ b/9.1.0/types/analyzer.CreatePipelineAnalyzerOptions.html @@ -0,0 +1,6 @@ +CreatePipelineAnalyzerOptions | arangojs - v9.1.0

Type alias CreatePipelineAnalyzerOptions

CreatePipelineAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        pipeline: Omit<CreateAnalyzerOptions, "features">[];
    };
    type: "pipeline";
}

Options for creating a Pipeline Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        pipeline: Omit<CreateAnalyzerOptions, "features">[];
    }

    Additional properties for the Analyzer.

    +
    • pipeline: Omit<CreateAnalyzerOptions, "features">[]

      Definitions for Analyzers to chain in this Pipeline Analyzer.

      +
  • type: "pipeline"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateSegmentationAnalyzerOptions.html b/9.1.0/types/analyzer.CreateSegmentationAnalyzerOptions.html new file mode 100644 index 00000000..f6b0451c --- /dev/null +++ b/9.1.0/types/analyzer.CreateSegmentationAnalyzerOptions.html @@ -0,0 +1,9 @@ +CreateSegmentationAnalyzerOptions | arangojs - v9.1.0

Type alias CreateSegmentationAnalyzerOptions

CreateSegmentationAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        break?: "all" | "alpha" | "graphic";
        case?: "lower" | "upper" | "none";
    };
    type: "segmentation";
}

Options for creating a Segmentation Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        break?: "all" | "alpha" | "graphic";
        case?: "lower" | "upper" | "none";
    }

    Additional properties for the Analyzer.

    +
    • Optional break?: "all" | "alpha" | "graphic"

      Which tokens should be returned.

      +

      Default: "alpha"

      +
    • Optional case?: "lower" | "upper" | "none"

      What case all returned tokens should be converted to if applicable.

      +

      Default: "none"

      +
  • type: "segmentation"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateStemAnalyzerOptions.html b/9.1.0/types/analyzer.CreateStemAnalyzerOptions.html new file mode 100644 index 00000000..f4ecea07 --- /dev/null +++ b/9.1.0/types/analyzer.CreateStemAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateStemAnalyzerOptions | arangojs - v9.1.0

Type alias CreateStemAnalyzerOptions

CreateStemAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        locale: string;
    };
    type: "stem";
}

Options for creating a Stem Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        locale: string;
    }

    Additional properties for the Analyzer.

    +

    The value defines the text locale.

    +

    Format: language[_COUNTRY][.encoding][@variant]

    +
    • locale: string
  • type: "stem"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateStopwordsAnalyzerOptions.html b/9.1.0/types/analyzer.CreateStopwordsAnalyzerOptions.html new file mode 100644 index 00000000..4c508bea --- /dev/null +++ b/9.1.0/types/analyzer.CreateStopwordsAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateStopwordsAnalyzerOptions | arangojs - v9.1.0

Type alias CreateStopwordsAnalyzerOptions

CreateStopwordsAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        hex?: boolean;
        stopwords: string[];
    };
    type: "stopwords";
}

Options for creating a Stopwords Analyzer

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        hex?: boolean;
        stopwords: string[];
    }

    Additional properties for the Analyzer.

    +
    • Optional hex?: boolean

      Whether stopword values should be interpreted as hex-encoded strings.

      +

      Default: false

      +
    • stopwords: string[]

      Array of strings that describe the tokens to be discarded.

      +
  • type: "stopwords"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateTextAnalyzerOptions.html b/9.1.0/types/analyzer.CreateTextAnalyzerOptions.html new file mode 100644 index 00000000..4a675c00 --- /dev/null +++ b/9.1.0/types/analyzer.CreateTextAnalyzerOptions.html @@ -0,0 +1,20 @@ +CreateTextAnalyzerOptions | arangojs - v9.1.0

Type alias CreateTextAnalyzerOptions

CreateTextAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        accent?: boolean;
        case?: "lower" | "none" | "upper";
        edgeNgram?: {
            max?: number;
            min?: number;
            preserveOriginal?: boolean;
        };
        locale: string;
        stemming?: boolean;
        stopwords?: string[];
        stopwordsPath?: string;
    };
    type: "text";
}

Options for creating a Text Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        accent?: boolean;
        case?: "lower" | "none" | "upper";
        edgeNgram?: {
            max?: number;
            min?: number;
            preserveOriginal?: boolean;
        };
        locale: string;
        stemming?: boolean;
        stopwords?: string[];
        stopwordsPath?: string;
    }

    Additional properties for the Analyzer.

    +
    • Optional accent?: boolean

      Preserve accents in returned words.

      +

      Default: false

      +
    • Optional case?: "lower" | "none" | "upper"

      Case conversion.

      +

      Default: "lower"

      +
    • Optional edgeNgram?: {
          max?: number;
          min?: number;
          preserveOriginal?: boolean;
      }

      If present, then edge n-grams are generated for each token (word).

      +
      • Optional max?: number
      • Optional min?: number
      • Optional preserveOriginal?: boolean
    • locale: string

      Text locale.

      +

      Format: language[_COUNTRY][.encoding][@variant]

      +
    • Optional stemming?: boolean

      Apply stemming on returned words.

      +

      Default: true

      +
    • Optional stopwords?: string[]

      Words to omit from result.

      +

      Defaults to the words loaded from the file at stopwordsPath.

      +
    • Optional stopwordsPath?: string

      Path with a language sub-directory containing files with words to omit.

      +

      Defaults to the path specified in the server-side environment variable +IRESEARCH_TEXT_STOPWORD_PATH or the current working directory of the +ArangoDB process.

      +
  • type: "text"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.CreateWildcardAnalyzerOptions.html b/9.1.0/types/analyzer.CreateWildcardAnalyzerOptions.html new file mode 100644 index 00000000..c004e56b --- /dev/null +++ b/9.1.0/types/analyzer.CreateWildcardAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateWildcardAnalyzerOptions | arangojs - v9.1.0

Type alias CreateWildcardAnalyzerOptions

CreateWildcardAnalyzerOptions: {
    features?: AnalyzerFeature[];
    properties: {
        analyzer?: Omit<CreateAnalyzerOptions, "features">;
        ngramSize: string;
    };
    type: "wildcard";
}

Options for creating a Wildcard Analyzer.

+

Type declaration

  • Optional features?: AnalyzerFeature[]

    Features to enable for this Analyzer.

    +
  • properties: {
        analyzer?: Omit<CreateAnalyzerOptions, "features">;
        ngramSize: string;
    }

    Additional properties for the Analyzer.

    +
    • Optional analyzer?: Omit<CreateAnalyzerOptions, "features">

      An Analyzer definition-like object with type and properties attributes.

      +
    • ngramSize: string

      N-gram length. Must be a positive integer greater than or equal to 2.

      +
  • type: "wildcard"

    Type of the Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.DelimiterAnalyzerDescription.html b/9.1.0/types/analyzer.DelimiterAnalyzerDescription.html new file mode 100644 index 00000000..3d3fe3f7 --- /dev/null +++ b/9.1.0/types/analyzer.DelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +DelimiterAnalyzerDescription | arangojs - v9.1.0

Type alias DelimiterAnalyzerDescription

DelimiterAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        delimiter: string;
    };
    type: "delimiter";
}

An object describing a Delimiter Analyzer.

+

Type declaration

  • properties: {
        delimiter: string;
    }
    • delimiter: string
  • type: "delimiter"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.GenericAnalyzerDescription.html b/9.1.0/types/analyzer.GenericAnalyzerDescription.html new file mode 100644 index 00000000..dc293e52 --- /dev/null +++ b/9.1.0/types/analyzer.GenericAnalyzerDescription.html @@ -0,0 +1,4 @@ +GenericAnalyzerDescription | arangojs - v9.1.0

Type alias GenericAnalyzerDescription

GenericAnalyzerDescription: {
    features: AnalyzerFeature[];
    name: string;
}

Shared attributes of all Analyzer descriptions.

+

Type declaration

  • features: AnalyzerFeature[]

    Features enabled for this Analyzer.

    +
  • name: string

    A unique name for this Analyzer.

    +
\ No newline at end of file diff --git a/9.1.0/types/analyzer.GeoJsonAnalyzerDescription.html b/9.1.0/types/analyzer.GeoJsonAnalyzerDescription.html new file mode 100644 index 00000000..5a0feed9 --- /dev/null +++ b/9.1.0/types/analyzer.GeoJsonAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoJsonAnalyzerDescription | arangojs - v9.1.0

Type alias GeoJsonAnalyzerDescription

GeoJsonAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        description: {
            maxCells: number;
            maxLevel: number;
            minLevel: number;
        };
        type: "shape" | "centroid" | "point";
    };
    type: "geojson";
}

An object describing a GeoJSON Analyzer

+

Type declaration

  • properties: {
        description: {
            maxCells: number;
            maxLevel: number;
            minLevel: number;
        };
        type: "shape" | "centroid" | "point";
    }
    • description: {
          maxCells: number;
          maxLevel: number;
          minLevel: number;
      }
      • maxCells: number
      • maxLevel: number
      • minLevel: number
    • type: "shape" | "centroid" | "point"
  • type: "geojson"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.GeoPointAnalyzerDescription.html b/9.1.0/types/analyzer.GeoPointAnalyzerDescription.html new file mode 100644 index 00000000..9afc4e41 --- /dev/null +++ b/9.1.0/types/analyzer.GeoPointAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoPointAnalyzerDescription | arangojs - v9.1.0

Type alias GeoPointAnalyzerDescription

GeoPointAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        description: {
            maxLevel: number;
            minCells: number;
            minLevel: number;
        };
        latitude: string[];
        longitude: string[];
    };
    type: "geopoint";
}

An object describing a GeoPoint Analyzer

+

Type declaration

  • properties: {
        description: {
            maxLevel: number;
            minCells: number;
            minLevel: number;
        };
        latitude: string[];
        longitude: string[];
    }
    • description: {
          maxLevel: number;
          minCells: number;
          minLevel: number;
      }
      • maxLevel: number
      • minCells: number
      • minLevel: number
    • latitude: string[]
    • longitude: string[]
  • type: "geopoint"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.GeoS2AnalyzerDescription.html b/9.1.0/types/analyzer.GeoS2AnalyzerDescription.html new file mode 100644 index 00000000..2740e63a --- /dev/null +++ b/9.1.0/types/analyzer.GeoS2AnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoS2AnalyzerDescription | arangojs - v9.1.0

Type alias GeoS2AnalyzerDescription

GeoS2AnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        description: {
            maxCells: number;
            maxLevel: number;
            minLevel: number;
        };
        format: "latLngDouble" | "latLngInt" | "s2Point";
        type: "shape" | "centroid" | "point";
    };
    type: "geo_s2";
}

(Enterprise Edition only.) An object describing a GeoS2 Analyzer

+

Type declaration

  • properties: {
        description: {
            maxCells: number;
            maxLevel: number;
            minLevel: number;
        };
        format: "latLngDouble" | "latLngInt" | "s2Point";
        type: "shape" | "centroid" | "point";
    }
    • description: {
          maxCells: number;
          maxLevel: number;
          minLevel: number;
      }
      • maxCells: number
      • maxLevel: number
      • minLevel: number
    • format: "latLngDouble" | "latLngInt" | "s2Point"
    • type: "shape" | "centroid" | "point"
  • type: "geo_s2"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.IdentityAnalyzerDescription.html b/9.1.0/types/analyzer.IdentityAnalyzerDescription.html new file mode 100644 index 00000000..3f36fabe --- /dev/null +++ b/9.1.0/types/analyzer.IdentityAnalyzerDescription.html @@ -0,0 +1,2 @@ +IdentityAnalyzerDescription | arangojs - v9.1.0

Type alias IdentityAnalyzerDescription

IdentityAnalyzerDescription: GenericAnalyzerDescription & {
    properties: Record<string, never>;
    type: "identity";
}

An object describing an Identity Analyzer.

+

Type declaration

  • properties: Record<string, never>
  • type: "identity"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.MinHashAnalyzerDescription.html b/9.1.0/types/analyzer.MinHashAnalyzerDescription.html new file mode 100644 index 00000000..58935663 --- /dev/null +++ b/9.1.0/types/analyzer.MinHashAnalyzerDescription.html @@ -0,0 +1,2 @@ +MinHashAnalyzerDescription | arangojs - v9.1.0

Type alias MinHashAnalyzerDescription

MinHashAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        analyzer: Omit<AnalyzerDescription, "name" | "features">;
        numHashes: number;
    };
    type: "minhash";
}

(Enterprise Edition only.) An object describing a MinHash Analyzer

+

Type declaration

  • properties: {
        analyzer: Omit<AnalyzerDescription, "name" | "features">;
        numHashes: number;
    }
  • type: "minhash"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.MultiDelimiterAnalyzerDescription.html b/9.1.0/types/analyzer.MultiDelimiterAnalyzerDescription.html new file mode 100644 index 00000000..923f24c8 --- /dev/null +++ b/9.1.0/types/analyzer.MultiDelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +MultiDelimiterAnalyzerDescription | arangojs - v9.1.0

Type alias MultiDelimiterAnalyzerDescription

MultiDelimiterAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        delimiters: string[];
    };
    type: "multi_delimiter";
}

An object describing a Multi Delimiter Analyzer.

+

Type declaration

  • properties: {
        delimiters: string[];
    }
    • delimiters: string[]
  • type: "multi_delimiter"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.NearestNeighborsAnalyzerDescription.html b/9.1.0/types/analyzer.NearestNeighborsAnalyzerDescription.html new file mode 100644 index 00000000..da79a8be --- /dev/null +++ b/9.1.0/types/analyzer.NearestNeighborsAnalyzerDescription.html @@ -0,0 +1,2 @@ +NearestNeighborsAnalyzerDescription | arangojs - v9.1.0

Type alias NearestNeighborsAnalyzerDescription

NearestNeighborsAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        model_location: string;
        top_k: number;
    };
    type: "nearest_neighbors";
}

(Enterprise Edition only.) An object describing a NearestNeighbors Analyzer

+

Type declaration

  • properties: {
        model_location: string;
        top_k: number;
    }
    • model_location: string
    • top_k: number
  • type: "nearest_neighbors"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.NgramAnalyzerDescription.html b/9.1.0/types/analyzer.NgramAnalyzerDescription.html new file mode 100644 index 00000000..edfb4764 --- /dev/null +++ b/9.1.0/types/analyzer.NgramAnalyzerDescription.html @@ -0,0 +1,2 @@ +NgramAnalyzerDescription | arangojs - v9.1.0

Type alias NgramAnalyzerDescription

NgramAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    };
    type: "ngram";
}

An object describing an Ngram Analyzer.

+

Type declaration

  • properties: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    }
    • max: number
    • min: number
    • preserveOriginal: boolean
  • type: "ngram"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.NormAnalyzerDescription.html b/9.1.0/types/analyzer.NormAnalyzerDescription.html new file mode 100644 index 00000000..8fd0f8b9 --- /dev/null +++ b/9.1.0/types/analyzer.NormAnalyzerDescription.html @@ -0,0 +1,2 @@ +NormAnalyzerDescription | arangojs - v9.1.0

Type alias NormAnalyzerDescription

NormAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        accent: boolean;
        case: "lower" | "none" | "upper";
        locale: string;
    };
    type: "norm";
}

An object describing a Norm Analyzer.

+

Type declaration

  • properties: {
        accent: boolean;
        case: "lower" | "none" | "upper";
        locale: string;
    }
    • accent: boolean
    • case: "lower" | "none" | "upper"
    • locale: string
  • type: "norm"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.PipelineAnalyzerDescription.html b/9.1.0/types/analyzer.PipelineAnalyzerDescription.html new file mode 100644 index 00000000..3e172e69 --- /dev/null +++ b/9.1.0/types/analyzer.PipelineAnalyzerDescription.html @@ -0,0 +1,2 @@ +PipelineAnalyzerDescription | arangojs - v9.1.0

Type alias PipelineAnalyzerDescription

PipelineAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        pipeline: Omit<AnalyzerDescription, "name" | "features">[];
    };
    type: "pipeline";
}

An object describing a Pipeline Analyzer

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/analyzer.SegmentationAnalyzerDescription.html b/9.1.0/types/analyzer.SegmentationAnalyzerDescription.html new file mode 100644 index 00000000..51e77fe6 --- /dev/null +++ b/9.1.0/types/analyzer.SegmentationAnalyzerDescription.html @@ -0,0 +1,2 @@ +SegmentationAnalyzerDescription | arangojs - v9.1.0

Type alias SegmentationAnalyzerDescription

SegmentationAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        break: "all" | "alpha" | "graphic";
        case: "lower" | "upper" | "none";
    };
    type: "segmentation";
}

An object describing a Segmentation Analyzer

+

Type declaration

  • properties: {
        break: "all" | "alpha" | "graphic";
        case: "lower" | "upper" | "none";
    }
    • break: "all" | "alpha" | "graphic"
    • case: "lower" | "upper" | "none"
  • type: "segmentation"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.StemAnalyzerDescription.html b/9.1.0/types/analyzer.StemAnalyzerDescription.html new file mode 100644 index 00000000..63e783cc --- /dev/null +++ b/9.1.0/types/analyzer.StemAnalyzerDescription.html @@ -0,0 +1,2 @@ +StemAnalyzerDescription | arangojs - v9.1.0

Type alias StemAnalyzerDescription

StemAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        locale: string;
    };
    type: "stem";
}

An object describing a Stem Analyzer.

+

Type declaration

  • properties: {
        locale: string;
    }
    • locale: string
  • type: "stem"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.StopwordsAnalyzerDescription.html b/9.1.0/types/analyzer.StopwordsAnalyzerDescription.html new file mode 100644 index 00000000..3afec0d1 --- /dev/null +++ b/9.1.0/types/analyzer.StopwordsAnalyzerDescription.html @@ -0,0 +1,2 @@ +StopwordsAnalyzerDescription | arangojs - v9.1.0

Type alias StopwordsAnalyzerDescription

StopwordsAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        hex: boolean;
        stopwords: string[];
    };
    type: "stopwords";
}

An object describing a Stopwords Analyzer

+

Type declaration

  • properties: {
        hex: boolean;
        stopwords: string[];
    }
    • hex: boolean
    • stopwords: string[]
  • type: "stopwords"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.TextAnalyzerDescription.html b/9.1.0/types/analyzer.TextAnalyzerDescription.html new file mode 100644 index 00000000..9177773e --- /dev/null +++ b/9.1.0/types/analyzer.TextAnalyzerDescription.html @@ -0,0 +1,2 @@ +TextAnalyzerDescription | arangojs - v9.1.0

Type alias TextAnalyzerDescription

TextAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        accent: boolean;
        case: "lower" | "none" | "upper";
        edgeNgram: {
            max: number;
            min: number;
            preserveOriginal: boolean;
        };
        locale: string;
        stemming: boolean;
        stopwords: string[];
        stopwordsPath: string;
    };
    type: "text";
}

An object describing a Text Analyzer.

+

Type declaration

  • properties: {
        accent: boolean;
        case: "lower" | "none" | "upper";
        edgeNgram: {
            max: number;
            min: number;
            preserveOriginal: boolean;
        };
        locale: string;
        stemming: boolean;
        stopwords: string[];
        stopwordsPath: string;
    }
    • accent: boolean
    • case: "lower" | "none" | "upper"
    • edgeNgram: {
          max: number;
          min: number;
          preserveOriginal: boolean;
      }
      • max: number
      • min: number
      • preserveOriginal: boolean
    • locale: string
    • stemming: boolean
    • stopwords: string[]
    • stopwordsPath: string
  • type: "text"
\ No newline at end of file diff --git a/9.1.0/types/analyzer.WildcardAnalyzerDescription.html b/9.1.0/types/analyzer.WildcardAnalyzerDescription.html new file mode 100644 index 00000000..8d4e1162 --- /dev/null +++ b/9.1.0/types/analyzer.WildcardAnalyzerDescription.html @@ -0,0 +1,2 @@ +WildcardAnalyzerDescription | arangojs - v9.1.0

Type alias WildcardAnalyzerDescription

WildcardAnalyzerDescription: GenericAnalyzerDescription & {
    properties: {
        analyzer?: Omit<AnalyzerDescription, "name" | "features">;
        ngramSize: number;
    };
    type: "wildcard";
}

An object describing a Wildcard Analyzer

+

Type declaration

  • properties: {
        analyzer?: Omit<AnalyzerDescription, "name" | "features">;
        ngramSize: number;
    }
  • type: "wildcard"
\ No newline at end of file diff --git a/9.1.0/types/aql.AqlValue.html b/9.1.0/types/aql.AqlValue.html new file mode 100644 index 00000000..cf391990 --- /dev/null +++ b/9.1.0/types/aql.AqlValue.html @@ -0,0 +1,3 @@ +AqlValue | arangojs - v9.1.0

Type alias AqlValue

AqlValue: ArangoCollection | View | Graph | GeneratedAqlQuery | AqlLiteral | string | number | boolean | null | undefined | Record<string, any> | any[]

A value that can be used in an AQL template string or passed to an AQL +helper function.

+
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionBatchReadOptions.html b/9.1.0/types/collection.CollectionBatchReadOptions.html new file mode 100644 index 00000000..1243f615 --- /dev/null +++ b/9.1.0/types/collection.CollectionBatchReadOptions.html @@ -0,0 +1,5 @@ +CollectionBatchReadOptions | arangojs - v9.1.0

Type alias CollectionBatchReadOptions

CollectionBatchReadOptions: {
    allowDirtyRead?: boolean;
}

Options for retrieving multiple documents from a collection.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionChecksumOptions.html b/9.1.0/types/collection.CollectionChecksumOptions.html new file mode 100644 index 00000000..e00f75df --- /dev/null +++ b/9.1.0/types/collection.CollectionChecksumOptions.html @@ -0,0 +1,8 @@ +CollectionChecksumOptions | arangojs - v9.1.0

Type alias CollectionChecksumOptions

CollectionChecksumOptions: {
    withData?: boolean;
    withRevisions?: boolean;
}

Options for retrieving a collection checksum.

+

Type declaration

  • Optional withData?: boolean

    If set to true, document data will be included in the calculation +of the checksum.

    +

    Default: false

    +
  • Optional withRevisions?: boolean

    If set to true, revision IDs will be included in the calculation +of the checksum.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionDropOptions.html b/9.1.0/types/collection.CollectionDropOptions.html new file mode 100644 index 00000000..4c7a6d8f --- /dev/null +++ b/9.1.0/types/collection.CollectionDropOptions.html @@ -0,0 +1,6 @@ +CollectionDropOptions | arangojs - v9.1.0

Type alias CollectionDropOptions

CollectionDropOptions: {
    isSystem?: boolean;
}

Options for dropping collections.

+

Type declaration

  • Optional isSystem?: boolean

    Whether the collection is a system collection. If the collection is a +system collection, this option must be set to true or ArangoDB will +refuse to drop the collection.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionEdgesOptions.html b/9.1.0/types/collection.CollectionEdgesOptions.html new file mode 100644 index 00000000..efd8eac8 --- /dev/null +++ b/9.1.0/types/collection.CollectionEdgesOptions.html @@ -0,0 +1,5 @@ +CollectionEdgesOptions | arangojs - v9.1.0

Type alias CollectionEdgesOptions

CollectionEdgesOptions: {
    allowDirtyRead?: boolean;
}

Options for retrieving a document's edges from a collection.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionEdgesResult.html b/9.1.0/types/collection.CollectionEdgesResult.html new file mode 100644 index 00000000..0052bdf5 --- /dev/null +++ b/9.1.0/types/collection.CollectionEdgesResult.html @@ -0,0 +1,2 @@ +CollectionEdgesResult | arangojs - v9.1.0

Type alias CollectionEdgesResult<T>

CollectionEdgesResult<T>: {
    edges: Edge<T>[];
    stats: {
        filtered: number;
        scannedIndex: number;
    };
}

Result of retrieving edges in a collection.

+

Type Parameters

  • T extends Record<string, any> = any

Type declaration

  • edges: Edge<T>[]
  • stats: {
        filtered: number;
        scannedIndex: number;
    }
    • filtered: number
    • scannedIndex: number
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionImportOptions.html b/9.1.0/types/collection.CollectionImportOptions.html new file mode 100644 index 00000000..fda12ae1 --- /dev/null +++ b/9.1.0/types/collection.CollectionImportOptions.html @@ -0,0 +1,19 @@ +CollectionImportOptions | arangojs - v9.1.0

Type alias CollectionImportOptions

CollectionImportOptions: {
    complete?: boolean;
    details?: boolean;
    fromPrefix?: string;
    onDuplicate?: "error" | "update" | "replace" | "ignore";
    overwrite?: boolean;
    toPrefix?: string;
    waitForSync?: boolean;
}

Options for bulk importing documents into a collection.

+

Type declaration

  • Optional complete?: boolean

    If set to true, the import will abort if any error occurs.

    +
  • Optional details?: boolean

    Whether the response should contain additional details about documents +that could not be imported.

    +
  • Optional fromPrefix?: string

    (Edge collections only.) Prefix to prepend to _from attribute values.

    +
  • Optional onDuplicate?: "error" | "update" | "replace" | "ignore"

    Controls behavior when a unique constraint is violated on the document key.

    +
      +
    • "error": the document will not be imported.
    • +
    • "update: the document will be merged into the existing document.
    • +
    • "replace": the document will replace the existing document.
    • +
    • "ignore": the document will not be imported and the unique constraint +error will be ignored.
    • +
    +

    Default: "error"

    +
  • Optional overwrite?: boolean

    If set to true, the collection is truncated before the data is imported.

    +

    Default: false

    +
  • Optional toPrefix?: string

    (Edge collections only.) Prefix to prepend to _to attribute values.

    +
  • Optional waitForSync?: boolean

    Whether to wait for the documents to have been synced to disk.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionImportResult.html b/9.1.0/types/collection.CollectionImportResult.html new file mode 100644 index 00000000..00c8fe34 --- /dev/null +++ b/9.1.0/types/collection.CollectionImportResult.html @@ -0,0 +1,9 @@ +CollectionImportResult | arangojs - v9.1.0

Type alias CollectionImportResult

CollectionImportResult: {
    created: number;
    details?: string[];
    empty: number;
    error: false;
    errors: number;
    ignored: number;
    updated: number;
}

Result of a collection bulk import.

+

Type declaration

  • created: number

    Number of new documents imported.

    +
  • Optional details?: string[]

    Additional details about any errors encountered during the import.

    +
  • empty: number

    Number of empty documents.

    +
  • error: false

    Whether the import failed.

    +
  • errors: number

    Number of documents that failed with an error.

    +
  • ignored: number

    Number of documents that failed with an error that is ignored.

    +
  • updated: number

    Number of documents updated.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionInsertOptions.html b/9.1.0/types/collection.CollectionInsertOptions.html new file mode 100644 index 00000000..6c8f935b --- /dev/null +++ b/9.1.0/types/collection.CollectionInsertOptions.html @@ -0,0 +1,30 @@ +CollectionInsertOptions | arangojs - v9.1.0

Type alias CollectionInsertOptions

CollectionInsertOptions: {
    mergeObjects?: boolean;
    overwriteMode?: "ignore" | "update" | "replace" | "conflict";
    refillIndexCaches?: boolean;
    returnNew?: boolean;
    returnOld?: boolean;
    silent?: boolean;
    versionAttribute?: string;
    waitForSync?: boolean;
}

Options for inserting a new document into a collection.

+

Type declaration

  • Optional mergeObjects?: boolean

    If set to false, object properties that already exist in the old +document will be overwritten rather than merged when an existing document +with the same _key or _id is updated. This does not affect arrays.

    +

    Default: true

    +
  • Optional overwriteMode?: "ignore" | "update" | "replace" | "conflict"

    Defines what should happen if a document with the same _key or _id +already exists, instead of throwing an exception.

    +

    Default: `"conflict"

    +
  • Optional refillIndexCaches?: boolean

    If set to true, new entries will be added to in-memory index caches if +document insertions affect the edge index or cache-enabled persistent +indexes.

    +

    Default: false

    +
  • Optional returnNew?: boolean

    If set to true, the complete new document will be returned as the new +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object. Has no effect if silent is set to true. +This option is only available when overwriteMode is set to "update" or +"replace".

    +

    Default: false

    +
  • Optional silent?: boolean

    If set to true, no data will be returned by the server. This option can +be used to reduce network traffic.

    +

    Default: false

    +
  • Optional versionAttribute?: string

    If set, the attribute with the name specified by the option is looked up +in the stored document and the attribute value is compared numerically to +the value of the versioning attribute in the supplied document that is +supposed to update/replace it.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionKeyOptions.html b/9.1.0/types/collection.CollectionKeyOptions.html new file mode 100644 index 00000000..cc64b155 --- /dev/null +++ b/9.1.0/types/collection.CollectionKeyOptions.html @@ -0,0 +1,8 @@ +CollectionKeyOptions | arangojs - v9.1.0

Type alias CollectionKeyOptions

CollectionKeyOptions: {
    allowUserKeys?: boolean;
    increment?: number;
    offset?: number;
    type?: KeyGenerator;
}

An object defining the collection's key generation.

+

Type declaration

  • Optional allowUserKeys?: boolean

    Unless set to false, documents can be created with a user-specified +_key attribute.

    +

    Default: true

    +
  • Optional increment?: number

    (Autoincrement only.) How many steps to increment the key each time.

    +
  • Optional offset?: number

    (Autoincrement only.) Initial offset for the key.

    +
  • Optional type?: KeyGenerator

    Type of key generator to use.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionKeyProperties.html b/9.1.0/types/collection.CollectionKeyProperties.html new file mode 100644 index 00000000..697f9256 --- /dev/null +++ b/9.1.0/types/collection.CollectionKeyProperties.html @@ -0,0 +1,7 @@ +CollectionKeyProperties | arangojs - v9.1.0

Type alias CollectionKeyProperties

CollectionKeyProperties: {
    allowUserKeys: boolean;
    increment?: number;
    lastValue: number;
    offset?: number;
    type: KeyGenerator;
}

An object defining the collection's key generation.

+

Type declaration

  • allowUserKeys: boolean

    Whether documents can be created with a user-specified _key attribute.

    +
  • Optional increment?: number

    (Autoincrement only.) How many steps to increment the key each time.

    +
  • lastValue: number

    Most recent key that has been generated.

    +
  • Optional offset?: number

    (Autoincrement only.) Initial offset for the key.

    +
  • type: KeyGenerator

    Type of key generator to use.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionMetadata.html b/9.1.0/types/collection.CollectionMetadata.html new file mode 100644 index 00000000..4c499438 --- /dev/null +++ b/9.1.0/types/collection.CollectionMetadata.html @@ -0,0 +1,6 @@ +CollectionMetadata | arangojs - v9.1.0

Type alias CollectionMetadata

CollectionMetadata: {
    globallyUniqueId: string;
    name: string;
    status: CollectionStatus;
    type: CollectionType;
}

General information about a collection.

+

Type declaration

  • globallyUniqueId: string

    A globally unique identifier for this collection.

    +
  • name: string

    Collection name.

    +
  • status: CollectionStatus

    An integer indicating the collection loading status.

    +
  • type: CollectionType

    An integer indicating the collection type.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionProperties.html b/9.1.0/types/collection.CollectionProperties.html new file mode 100644 index 00000000..a0e641c6 --- /dev/null +++ b/9.1.0/types/collection.CollectionProperties.html @@ -0,0 +1,25 @@ +CollectionProperties | arangojs - v9.1.0

Type alias CollectionProperties

CollectionProperties: {
    cacheEnabled: boolean;
    computedValues: ComputedValueProperties[];
    distributeShardsLike?: string;
    isDisjoint?: string;
    isSmart?: boolean;
    keyOptions: CollectionKeyProperties;
    numberOfShards?: number;
    replicationFactor?: number | "satellite";
    schema: SchemaProperties | null;
    shardKeys?: string[];
    shardingStrategy?: ShardingStrategy;
    smartGraphAttribute?: string;
    smartJoinAttribute?: string;
    statusString: string;
    syncByRevision: boolean;
    waitForSync: boolean;
    writeConcern: number;
}

An object defining the properties of a collection.

+

Type declaration

  • cacheEnabled: boolean

    Whether the in-memory hash cache is enabled for this collection.

    +
  • computedValues: ComputedValueProperties[]

    Computed values applied to documents in this collection.

    +
  • Optional distributeShardsLike?: string

    (Enterprise Edition cluster only.) If set to a collection name, sharding +of the new collection will follow the rules for that collection. As long +as the new collection exists, the indicated collection can not be dropped.

    +
  • Optional isDisjoint?: string

    (Enterprise Edition only.) Whether the SmartGraph this collection belongs to is disjoint.

    +
  • Optional isSmart?: boolean

    (Enterprise Edition only.) Whether the collection is used in a SmartGraph or EnterpriseGraph.

    +
  • keyOptions: CollectionKeyProperties

    An object defining the collection's key generation.

    +
  • Optional numberOfShards?: number

    (Cluster only.) Number of shards of this collection.

    +
  • Optional replicationFactor?: number | "satellite"

    (Cluster only.) Replication factor of the collection.

    +
  • schema: SchemaProperties | null

    Properties for validating documents in the collection.

    +
  • Optional shardKeys?: string[]

    (Cluster only.) Keys of this collection that will be used for +sharding.

    +
  • Optional shardingStrategy?: ShardingStrategy

    (Cluster only.) Sharding strategy of the collection.

    +
  • Optional smartGraphAttribute?: string

    (Enterprise Edition cluster only.) Attribute used for sharding.

    +
  • Optional smartJoinAttribute?: string

    (Enterprise Edition cluster only.) Attribute containing the shard key +value of the referred-to smart join collection.

    +
  • statusString: string

    A human-readable representation of the collection loading status.

    +
  • syncByRevision: boolean

    Whether the newer revision-based replication protocol is enabled for +this collection.

    +
  • waitForSync: boolean

    Whether data should be synchronized to disk before returning from +a document create, update, replace or removal operation.

    +
  • writeConcern: number

    (Cluster only.) Write concern for this collection.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionPropertiesOptions.html b/9.1.0/types/collection.CollectionPropertiesOptions.html new file mode 100644 index 00000000..7420852b --- /dev/null +++ b/9.1.0/types/collection.CollectionPropertiesOptions.html @@ -0,0 +1,13 @@ +CollectionPropertiesOptions | arangojs - v9.1.0

Type alias CollectionPropertiesOptions

CollectionPropertiesOptions: {
    cacheEnabled?: boolean;
    computedValues?: ComputedValueOptions[];
    replicationFactor?: number | "satellite";
    schema?: SchemaOptions;
    waitForSync?: boolean;
    writeConcern?: number;
}

Options for setting a collection's properties.

+

See DocumentCollection#properties and EdgeCollection#properties.

+

Type declaration

  • Optional cacheEnabled?: boolean

    Whether the in-memory hash cache is enabled for this collection.

    +

    Default: false

    +
  • Optional computedValues?: ComputedValueOptions[]

    Computed values to apply to documents in this collection.

    +
  • Optional replicationFactor?: number | "satellite"

    (Cluster only.) How many copies of each document should be kept in the +cluster.

    +

    Default: 1

    +
  • Optional schema?: SchemaOptions

    Options for validating documents in this collection.

    +
  • Optional waitForSync?: boolean

    Whether data should be synchronized to disk before returning from +a document create, update, replace or removal operation.

    +
  • Optional writeConcern?: number

    (Cluster only.) Write concern for this collection.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionReadOptions.html b/9.1.0/types/collection.CollectionReadOptions.html new file mode 100644 index 00000000..d4bbe8b4 --- /dev/null +++ b/9.1.0/types/collection.CollectionReadOptions.html @@ -0,0 +1,12 @@ +CollectionReadOptions | arangojs - v9.1.0

Type alias CollectionReadOptions

CollectionReadOptions: {
    allowDirtyRead?: boolean;
    graceful?: boolean;
    ifMatch?: string;
    ifNoneMatch?: string;
}

Options for retrieving a document from a collection.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
  • Optional graceful?: boolean

    If set to true, null is returned instead of an exception being thrown +if the document does not exist.

    +
  • Optional ifMatch?: string

    If set to a document revision, the request will fail with an error if the +document exists but its _rev does not match the given revision.

    +
  • Optional ifNoneMatch?: string

    If set to a document revision, the request will fail with an error if the +document exists and its _rev matches the given revision. Note that an +HttpError with code 304 will be thrown instead of an ArangoError.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionRemoveOptions.html b/9.1.0/types/collection.CollectionRemoveOptions.html new file mode 100644 index 00000000..8bd98010 --- /dev/null +++ b/9.1.0/types/collection.CollectionRemoveOptions.html @@ -0,0 +1,16 @@ +CollectionRemoveOptions | arangojs - v9.1.0

Type alias CollectionRemoveOptions

CollectionRemoveOptions: {
    ifMatch?: string;
    refillIndexCaches?: boolean;
    returnOld?: boolean;
    silent?: boolean;
    waitForSync?: boolean;
}

Options for removing a document from a collection.

+

Type declaration

  • Optional ifMatch?: string

    If set to a document revision, the document will only be removed if its +_rev matches the given revision.

    +
  • Optional refillIndexCaches?: boolean

    If set to true, existing entries in in-memory index caches will be +deleted if document removals affect the edge index or cache-enabled +persistent indexes.

    +

    Default: false

    +
  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional silent?: boolean

    If set to true, no data will be returned by the server. This option can +be used to reduce network traffic.

    +

    Default: false

    +
  • Optional waitForSync?: boolean

    If set to true, changes will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionReplaceOptions.html b/9.1.0/types/collection.CollectionReplaceOptions.html new file mode 100644 index 00000000..6d14d0e5 --- /dev/null +++ b/9.1.0/types/collection.CollectionReplaceOptions.html @@ -0,0 +1,26 @@ +CollectionReplaceOptions | arangojs - v9.1.0

Type alias CollectionReplaceOptions

CollectionReplaceOptions: {
    ifMatch?: string;
    ignoreRevs?: boolean;
    refillIndexCaches?: boolean;
    returnNew?: boolean;
    returnOld?: boolean;
    silent?: boolean;
    versionAttribute?: string;
    waitForSync?: boolean;
}

Options for replacing an existing document in a collection.

+

Type declaration

  • Optional ifMatch?: string

    If set to a document revision, the document will only be replaced if its +_rev matches the given revision.

    +
  • Optional ignoreRevs?: boolean

    If set to false, the existing document will only be modified if its +_rev property matches the same property on the new data.

    +

    Default: true

    +
  • Optional refillIndexCaches?: boolean

    If set to true, existing entries in in-memory index caches will be +updated if document replacements affect the edge index or cache-enabled +persistent indexes.

    +

    Default: false

    +
  • Optional returnNew?: boolean

    If set to true, the complete new document will be returned as the new +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional silent?: boolean

    If set to true, no data will be returned by the server. This option can +be used to reduce network traffic.

    +

    Default: false

    +
  • Optional versionAttribute?: string

    If set, the attribute with the name specified by the option is looked up +in the stored document and the attribute value is compared numerically to +the value of the versioning attribute in the supplied document that is +supposed to update/replace it.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CollectionUpdateOptions.html b/9.1.0/types/collection.CollectionUpdateOptions.html new file mode 100644 index 00000000..cdf66ee4 --- /dev/null +++ b/9.1.0/types/collection.CollectionUpdateOptions.html @@ -0,0 +1,33 @@ +CollectionUpdateOptions | arangojs - v9.1.0

Type alias CollectionUpdateOptions

CollectionUpdateOptions: {
    ifMatch?: string;
    ignoreRevs?: boolean;
    keepNull?: boolean;
    mergeObjects?: boolean;
    refillIndexCaches?: boolean;
    returnNew?: boolean;
    returnOld?: boolean;
    silent?: boolean;
    versionAttribute?: string;
    waitForSync?: boolean;
}

Options for updating a document in a collection.

+

Type declaration

  • Optional ifMatch?: string

    If set to a document revision, the document will only be updated if its +_rev matches the given revision.

    +
  • Optional ignoreRevs?: boolean

    If set to false, the existing document will only be modified if its +_rev property matches the same property on the new data.

    +

    Default: true

    +
  • Optional keepNull?: boolean

    If set to false, properties with a value of null will be removed from +the new document.

    +

    Default: true

    +
  • Optional mergeObjects?: boolean

    If set to false, object properties that already exist in the old +document will be overwritten rather than merged. This does not affect +arrays.

    +

    Default: true

    +
  • Optional refillIndexCaches?: boolean

    If set to true, existing entries in in-memory index caches will be +updated if document updates affect the edge index or cache-enabled +persistent indexes.

    +

    Default: false

    +
  • Optional returnNew?: boolean

    If set to true, the complete new document will be returned as the new +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object. Has no effect if silent is set to true.

    +

    Default: false

    +
  • Optional silent?: boolean

    If set to true, no data will be returned by the server. This option can +be used to reduce network traffic.

    +

    Default: false

    +
  • Optional versionAttribute?: string

    If set, the attribute with the name specified by the option is looked up +in the stored document and the attribute value is compared numerically to +the value of the versioning attribute in the supplied document that is +supposed to update/replace it.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.ComputedValueOptions.html b/9.1.0/types/collection.ComputedValueOptions.html new file mode 100644 index 00000000..e3d52812 --- /dev/null +++ b/9.1.0/types/collection.ComputedValueOptions.html @@ -0,0 +1,17 @@ +ComputedValueOptions | arangojs - v9.1.0

Type alias ComputedValueOptions

ComputedValueOptions: {
    computeOn?: WriteOperation[];
    expression: string | AqlLiteral | AqlQuery;
    failOnWarning?: boolean;
    keepNull?: boolean;
    name: string;
    overwrite?: boolean;
}

Options for creating a computed value.

+

Type declaration

  • Optional computeOn?: WriteOperation[]

    Which operations should result in the value being computed.

    +

    Default: ["insert", "update", "replace"]

    +
  • expression: string | AqlLiteral | AqlQuery

    AQL RETURN expression that computes the value.

    +

    Note that when passing an AQL query object, the bindVars will be ignored.

    +
  • Optional failOnWarning?: boolean

    Whether the write operation should fail if the expression produces a +warning.

    +

    Default: false

    +
  • Optional keepNull?: boolean

    If set to false, the field will be unset if the expression evaluates to +null. Otherwise the field will be set to the value null. Has no effect +if overwrite is set to false.

    +

    Default: true

    +
  • name: string

    Name of the target attribute of the computed value.

    +
  • Optional overwrite?: boolean

    If set to false, the computed value will not be applied if the +expression evaluates to null.

    +

    Default: true

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.ComputedValueProperties.html b/9.1.0/types/collection.ComputedValueProperties.html new file mode 100644 index 00000000..6d8a94c7 --- /dev/null +++ b/9.1.0/types/collection.ComputedValueProperties.html @@ -0,0 +1,12 @@ +ComputedValueProperties | arangojs - v9.1.0

Type alias ComputedValueProperties

ComputedValueProperties: {
    computeOn: WriteOperation[];
    expression: string;
    failOnWarning: boolean;
    keepNull: boolean;
    name: string;
    overwrite: boolean;
}

Properties defining a computed value.

+

Type declaration

  • computeOn: WriteOperation[]

    Which operations should result in the value being computed.

    +
  • expression: string

    AQL RETURN expression that computes the value.

    +
  • failOnWarning: boolean

    Whether the write operation should fail if the expression produces a +warning.

    +
  • keepNull: boolean

    If set to false, the field will be unset if the expression evaluates to +null. Otherwise the field will be set to the value null. Has no effect +if overwrite is set to false.

    +
  • name: string

    Name of the target attribute of the computed value.

    +
  • overwrite: boolean

    If set to false, the computed value will not be applied if the +expression evaluates to null.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.CreateCollectionOptions.html b/9.1.0/types/collection.CreateCollectionOptions.html new file mode 100644 index 00000000..b0901fc7 --- /dev/null +++ b/9.1.0/types/collection.CreateCollectionOptions.html @@ -0,0 +1,33 @@ +CreateCollectionOptions | arangojs - v9.1.0

Type alias CreateCollectionOptions

CreateCollectionOptions: {
    cacheEnabled?: boolean;
    computedValues?: ComputedValueOptions[];
    distributeShardsLike?: string;
    enforceReplicationFactor?: boolean;
    keyOptions?: CollectionKeyOptions;
    numberOfShards?: number;
    replicationFactor?: number;
    schema?: SchemaOptions;
    shardKeys?: string[];
    shardingStrategy?: ShardingStrategy;
    smartGraphAttribute?: string;
    smartJoinAttribute?: string;
    waitForSync?: boolean;
    waitForSyncReplication?: boolean;
    writeConcern?: number;
}

Type declaration

  • Optional cacheEnabled?: boolean

    Whether the in-memory hash cache is enabled for this collection.

    +
  • Optional computedValues?: ComputedValueOptions[]

    Computed values to apply to documents in this collection.

    +
  • Optional distributeShardsLike?: string

    (Enterprise Edition cluster only.) If set to a collection name, sharding +of the new collection will follow the rules for that collection. As long +as the new collection exists, the indicated collection can not be dropped.

    +
  • Optional enforceReplicationFactor?: boolean

    (Cluster only.) Unless set to false, the server will check whether +enough replicas are available at creation time and bail out otherwise.

    +

    Default: true

    +
  • Optional keyOptions?: CollectionKeyOptions

    An object defining the collection's key generation.

    +
  • Optional numberOfShards?: number

    (Cluster only.) Number of shards to distribute the collection across.

    +

    Default: 1

    +
  • Optional replicationFactor?: number

    (Cluster only.) How many copies of each document should be kept in the +cluster.

    +

    Default: 1

    +
  • Optional schema?: SchemaOptions

    Options for validating documents in the collection.

    +
  • Optional shardKeys?: string[]

    (Cluster only.) Document attributes to use to determine the target shard +for each document.

    +

    Default: ["_key"]

    +
  • Optional shardingStrategy?: ShardingStrategy

    (Cluster only.) Sharding strategy to use.

    +
  • Optional smartGraphAttribute?: string

    (Enterprise Edition cluster only.) Attribute used for sharding.

    +
  • Optional smartJoinAttribute?: string

    (Enterprise Edition cluster only.) Attribute containing the shard key +value of the referred-to smart join collection.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning from +a document create, update, replace or removal operation.

    +

    Default: false

    +
  • Optional waitForSyncReplication?: boolean

    (Cluster only.) Unless set to false, the server will wait for all +replicas to create the collection before returning.

    +

    Default: true

    +
  • Optional writeConcern?: number

    (Cluster only.) Write concern for this collection.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.DocumentExistsOptions.html b/9.1.0/types/collection.DocumentExistsOptions.html new file mode 100644 index 00000000..2189e921 --- /dev/null +++ b/9.1.0/types/collection.DocumentExistsOptions.html @@ -0,0 +1,6 @@ +DocumentExistsOptions | arangojs - v9.1.0

Type alias DocumentExistsOptions

DocumentExistsOptions: {
    ifMatch?: string;
    ifNoneMatch?: string;
}

Options for checking whether a document exists in a collection.

+

Type declaration

  • Optional ifMatch?: string

    If set to a document revision, the document will only match if its _rev +matches the given revision.

    +
  • Optional ifNoneMatch?: string

    If set to a document revision, the document will only match if its _rev +does not match the given revision.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.DocumentOperationFailure.html b/9.1.0/types/collection.DocumentOperationFailure.html new file mode 100644 index 00000000..fe365bff --- /dev/null +++ b/9.1.0/types/collection.DocumentOperationFailure.html @@ -0,0 +1,5 @@ +DocumentOperationFailure | arangojs - v9.1.0

Type alias DocumentOperationFailure

DocumentOperationFailure: {
    error: true;
    errorMessage: string;
    errorNum: number;
}

Represents a bulk operation failure for an individual document.

+

Type declaration

  • error: true

    Indicates that the operation failed.

    +
  • errorMessage: string

    Human-readable description of the failure.

    +
  • errorNum: number

    Numeric representation of the failure.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.DocumentOperationMetadata.html b/9.1.0/types/collection.DocumentOperationMetadata.html new file mode 100644 index 00000000..ce0df514 --- /dev/null +++ b/9.1.0/types/collection.DocumentOperationMetadata.html @@ -0,0 +1,3 @@ +DocumentOperationMetadata | arangojs - v9.1.0

Type alias DocumentOperationMetadata

DocumentOperationMetadata: DocumentMetadata & {
    _oldRev?: string;
}

Metadata returned by a document operation.

+

Type declaration

  • Optional _oldRev?: string

    Revision of the document that was updated or replaced by this operation.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.IndexListOptions.html b/9.1.0/types/collection.IndexListOptions.html new file mode 100644 index 00000000..aa788df2 --- /dev/null +++ b/9.1.0/types/collection.IndexListOptions.html @@ -0,0 +1,8 @@ +IndexListOptions | arangojs - v9.1.0

Type alias IndexListOptions

IndexListOptions: {
    withHidden?: boolean;
    withStats?: boolean;
}

Type declaration

  • Optional withHidden?: boolean

    If set to true, includes internal indexes as well as indexes that are +not yet fully built but are in the building phase.

    +

    You should cast the resulting indexes to HiddenIndex to ensure internal +and incomplete indexes are accurately represented.

    +

    Default: false.

    +
  • Optional withStats?: boolean

    If set to true, includes additional information about each index.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.KeyGenerator.html b/9.1.0/types/collection.KeyGenerator.html new file mode 100644 index 00000000..dac6e9b6 --- /dev/null +++ b/9.1.0/types/collection.KeyGenerator.html @@ -0,0 +1,2 @@ +KeyGenerator | arangojs - v9.1.0

Type alias KeyGenerator

KeyGenerator: "traditional" | "autoincrement" | "uuid" | "padded"

Type of key generator.

+
\ No newline at end of file diff --git a/9.1.0/types/collection.SchemaOptions.html b/9.1.0/types/collection.SchemaOptions.html new file mode 100644 index 00000000..f47be4a3 --- /dev/null +++ b/9.1.0/types/collection.SchemaOptions.html @@ -0,0 +1,6 @@ +SchemaOptions | arangojs - v9.1.0

Type alias SchemaOptions

SchemaOptions: {
    level?: ValidationLevel;
    message?: string;
    rule: any;
}

Options for validating collection documents.

+

Type declaration

  • Optional level?: ValidationLevel

    When validation should be applied.

    +

    Default: "strict"

    +
  • Optional message?: string

    Message to be used if validation fails.

    +
  • rule: any

    JSON Schema description of the validation schema for documents.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.SchemaProperties.html b/9.1.0/types/collection.SchemaProperties.html new file mode 100644 index 00000000..4a41ba85 --- /dev/null +++ b/9.1.0/types/collection.SchemaProperties.html @@ -0,0 +1,6 @@ +SchemaProperties | arangojs - v9.1.0

Type alias SchemaProperties

SchemaProperties: {
    level: ValidationLevel;
    message: string;
    rule: any;
    type: "json";
}

Properties for validating documents in a collection.

+

Type declaration

  • level: ValidationLevel

    When validation should be applied.

    +
  • message: string

    Message to be used if validation fails.

    +
  • rule: any

    JSON Schema description of the validation schema for documents.

    +
  • type: "json"

    Type of document validation.

    +
\ No newline at end of file diff --git a/9.1.0/types/collection.ShardingStrategy.html b/9.1.0/types/collection.ShardingStrategy.html new file mode 100644 index 00000000..823c109a --- /dev/null +++ b/9.1.0/types/collection.ShardingStrategy.html @@ -0,0 +1,2 @@ +ShardingStrategy | arangojs - v9.1.0

Type alias ShardingStrategy

ShardingStrategy: "hash" | "enterprise-hash-smart-edge" | "enterprise-hash-smart-vertex" | "community-compat" | "enterprise-compat" | "enterprise-smart-edge-compat"

Strategy for sharding a collection.

+
\ No newline at end of file diff --git a/9.1.0/types/collection.ValidationLevel.html b/9.1.0/types/collection.ValidationLevel.html new file mode 100644 index 00000000..101d5469 --- /dev/null +++ b/9.1.0/types/collection.ValidationLevel.html @@ -0,0 +1,9 @@ +ValidationLevel | arangojs - v9.1.0

Type alias ValidationLevel

ValidationLevel: "none" | "new" | "moderate" | "strict"

When a validation should be applied.

+
    +
  • "none": No validation.
  • +
  • "new": Newly inserted documents are validated.
  • +
  • "moderate": New and modified documents are validated unless the modified +document was already invalid.
  • +
  • "strict": New and modified documents are always validated.
  • +
+
\ No newline at end of file diff --git a/9.1.0/types/collection.WriteOperation.html b/9.1.0/types/collection.WriteOperation.html new file mode 100644 index 00000000..2f1b58d1 --- /dev/null +++ b/9.1.0/types/collection.WriteOperation.html @@ -0,0 +1,2 @@ +WriteOperation | arangojs - v9.1.0

Type alias WriteOperation

WriteOperation: "insert" | "update" | "replace"

Write operation that can result in a computed value being computed.

+
\ No newline at end of file diff --git a/9.1.0/types/connection.ArangoApiResponse.html b/9.1.0/types/connection.ArangoApiResponse.html new file mode 100644 index 00000000..27c731eb --- /dev/null +++ b/9.1.0/types/connection.ArangoApiResponse.html @@ -0,0 +1,2 @@ +ArangoApiResponse | arangojs - v9.1.0

Type alias ArangoApiResponse<T>

ArangoApiResponse<T>: T & ArangoResponseMetadata

Extends the given base type T with the generic HTTP API response properties.

+

Type Parameters

  • T
\ No newline at end of file diff --git a/9.1.0/types/connection.ArangoResponseMetadata.html b/9.1.0/types/connection.ArangoResponseMetadata.html new file mode 100644 index 00000000..26c50934 --- /dev/null +++ b/9.1.0/types/connection.ArangoResponseMetadata.html @@ -0,0 +1,4 @@ +ArangoResponseMetadata | arangojs - v9.1.0

Type alias ArangoResponseMetadata

ArangoResponseMetadata: {
    code: number;
    error: false;
}

Generic properties shared by all ArangoDB HTTP API responses.

+

Type declaration

  • code: number

    Response status code, typically 200.

    +
  • error: false

    Indicates that the request was successful.

    +
\ No newline at end of file diff --git a/9.1.0/types/connection.BasicAuthCredentials.html b/9.1.0/types/connection.BasicAuthCredentials.html new file mode 100644 index 00000000..cd15654b --- /dev/null +++ b/9.1.0/types/connection.BasicAuthCredentials.html @@ -0,0 +1,4 @@ +BasicAuthCredentials | arangojs - v9.1.0

Type alias BasicAuthCredentials

BasicAuthCredentials: {
    password?: string;
    username: string;
}

Credentials for HTTP Basic authentication.

+

Type declaration

  • Optional password?: string

    Password to use for authentication. Defaults to an empty string.

    +
  • username: string

    Username to use for authentication, e.g. "root".

    +
\ No newline at end of file diff --git a/9.1.0/types/connection.BearerAuthCredentials.html b/9.1.0/types/connection.BearerAuthCredentials.html new file mode 100644 index 00000000..7da5e255 --- /dev/null +++ b/9.1.0/types/connection.BearerAuthCredentials.html @@ -0,0 +1,3 @@ +BearerAuthCredentials | arangojs - v9.1.0

Type alias BearerAuthCredentials

BearerAuthCredentials: {
    token: string;
}

Credentials for HTTP Bearer token authentication.

+

Type declaration

  • token: string

    Bearer token to use for authentication.

    +
\ No newline at end of file diff --git a/9.1.0/types/connection.Config.html b/9.1.0/types/connection.Config.html new file mode 100644 index 00000000..81fb6716 --- /dev/null +++ b/9.1.0/types/connection.Config.html @@ -0,0 +1,119 @@ +Config | arangojs - v9.1.0

Type alias Config

Config: {
    afterResponse?: ((err, res?) => void);
    arangoVersion?: number;
    auth?: BasicAuthCredentials | BearerAuthCredentials;
    beforeRequest?: ((req) => void);
    credentials?: "omit" | "include" | "same-origin";
    databaseName?: string;
    headers?: Headers | Record<string, string>;
    keepalive?: boolean;
    loadBalancingStrategy?: LoadBalancingStrategy;
    maxRetries?: false | number;
    poolSize?: number;
    precaptureStackTraces?: boolean;
    responseQueueTimeSamples?: number;
    retryOnConflict?: number;
    url?: string | string[];
}

Options for configuring arangojs.

+

Type declaration

  • Optional afterResponse?: ((err, res?) => void)

    Callback that will be invoked when the server response has been received +and processed or when the request has been failed without a response.

    +

    The originating request will be available as the request property +on either the error or response object.

    +
      • (err, res?): void
      • Parameters

        • err: ArangojsError | null

          Error encountered when handling this request or null.

          +
        • Optional res: ArangojsResponse

          Response object for this request, if no error occurred.

          +

        Returns void

  • Optional arangoVersion?: number

    Numeric representation of the ArangoDB version the driver should expect. +The format is defined as XYYZZ where X is the major version, Y is +the zero-filled two-digit minor version and Z is the zero-filled two-digit +bugfix version, e.g. 30102 for 3.1.2, 20811 for 2.8.11.

    +

    Depending on this value certain methods may become unavailable or change +their behavior to remain compatible with different versions of ArangoDB.

    +

    Default: 31100

    +
  • Optional auth?: BasicAuthCredentials | BearerAuthCredentials

    Credentials to use for authentication.

    +

    See also database.Database#useBasicAuth and +database.Database#useBearerAuth.

    +

    Default: { username: "root", password: "" }

    +
  • Optional beforeRequest?: ((req) => void)

    Callback that will be invoked with the finished request object before it +is finalized. In the browser the request may already have been sent.

    +
      • (req): void
      • Parameters

        • req: globalThis.Request

          Request object or XHR instance used for this request.

          +

        Returns void

  • Optional credentials?: "omit" | "include" | "same-origin"

    (Browser only.) Determines whether credentials (e.g. cookies) will be sent +with requests to the ArangoDB server.

    +

    If set to same-origin, credentials will only be included with requests +on the same URL origin as the invoking script. If set to include, +credentials will always be sent. If set to omit, credentials will be +excluded from all requests.

    +

    Default: same-origin

    +
  • Optional databaseName?: string

    Name of the database to use.

    +

    Default: "_system"

    +
  • Optional headers?: Headers | Record<string, string>

    An object with additional headers to send with every request.

    +

    If an "authorization" header is provided, it will be overridden when +using database.Database#useBasicAuth, database.Database#useBearerAuth or +the auth configuration option.

    +
  • Optional keepalive?: boolean

    If set to true, requests will keep the underlying connection open until +it times out or is closed. In browsers this prevents requests from being +cancelled when the user navigates away from the page.

    +

    Default: true

    +
  • Optional loadBalancingStrategy?: LoadBalancingStrategy

    Determines the behavior when multiple URLs are provided:

    +
      +
    • "NONE": No load balancing. All requests will be handled by the first +URL in the list until a network error is encountered. On network error, +arangojs will advance to using the next URL in the list.

      +
    • +
    • "ONE_RANDOM": Randomly picks one URL from the list initially, then +behaves like "NONE".

      +
    • +
    • "ROUND_ROBIN": Every sequential request uses the next URL in the list.

      +
    • +
    +

    Default: "NONE"

    +
  • Optional maxRetries?: false | number

    Determines the behavior when a request fails because the underlying +connection to the server could not be opened +(i.e. ECONNREFUSED in Node.js):

    +
      +
    • false: the request fails immediately.

      +
    • +
    • 0: the request is retried until a server can be reached but only a +total number of times matching the number of known servers (including +the initial failed request).

      +
    • +
    • any other number: the request is retried until a server can be reached +or the request has been retried a total of maxRetries number of times +(not including the initial failed request).

      +
    • +
    +

    When working with a single server, the retries (if any) will be made to +the same server.

    +

    This setting currently has no effect when using arangojs in a browser.

    +

    Note: Requests bound to a specific server (e.g. fetching query results) +will never be retried automatically and ignore this setting.

    +

    Note: To set the number of retries when a write-write conflict is +encountered, see retryOnConflict instead.

    +

    Default: 0

    +
  • Optional poolSize?: number

    Maximum number of parallel requests arangojs will perform. If any +additional requests are attempted, they will be enqueued until one of the +active requests has completed.

    +

    Note: when using ROUND_ROBIN load balancing and passing an array of +URLs in the url option, the default value of this option will be set to +3 * url.length instead of 3.

    +

    Default: 3

    +
  • Optional precaptureStackTraces?: boolean

    If set to true, arangojs will generate stack traces every time a request +is initiated and augment the stack traces of any errors it generates.

    +

    Warning: This will cause arangojs to generate stack traces in advance +even if the request does not result in an error. Generating stack traces +may negatively impact performance.

    +
  • Optional responseQueueTimeSamples?: number

    Limits the number of values of server-reported response queue times that +will be stored and accessible using database.Database#queueTime. If set to +a finite value, older values will be discarded to make room for new values +when that limit is reached.

    +

    Default: 10

    +
  • Optional retryOnConflict?: number

    If set to a positive number, requests will automatically be retried at +most this many times if they result in a write-write conflict.

    +

    Default: 0

    +
  • Optional url?: string | string[]

    Base URL of the ArangoDB server or list of server URLs.

    +

    When working with a cluster, the method database.Database#acquireHostList +can be used to automatically pick up additional coordinators/followers at +any point.

    +

    When running ArangoDB on a unix socket, e.g. /tmp/arangodb.sock, the +following URL formats are supported for unix sockets:

    +
      +
    • unix:///tmp/arangodb.sock (no SSL)
    • +
    • http+unix:///tmp/arangodb.sock (or https+unix:// for SSL)
    • +
    • http://unix:/tmp/arangodb.sock (or https://unix: for SSL)
    • +
    +

    Additionally ssl and tls are treated as synonymous with https and +tcp is treated as synonymous with http, so the following URLs are +considered identical:

    +
      +
    • tcp://127.0.0.1:8529 and http://127.0.0.1:8529
    • +
    • ssl://127.0.0.1:8529 and https://127.0.0.1:8529
    • +
    • tcp+unix:///tmp/arangodb.sock and http+unix:///tmp/arangodb.sock
    • +
    • ssl+unix:///tmp/arangodb.sock and https+unix:///tmp/arangodb.sock
    • +
    • tcp://unix:/tmp/arangodb.sock and http://unix:/tmp/arangodb.sock
    • +
    • ssl://unix:/tmp/arangodb.sock and https://unix:/tmp/arangodb.sock
    • +
    +

    See also auth for passing authentication credentials.

    +

    Default: "http://127.0.0.1:8529"

    +
\ No newline at end of file diff --git a/9.1.0/types/connection.LoadBalancingStrategy.html b/9.1.0/types/connection.LoadBalancingStrategy.html new file mode 100644 index 00000000..c12eb341 --- /dev/null +++ b/9.1.0/types/connection.LoadBalancingStrategy.html @@ -0,0 +1,13 @@ +LoadBalancingStrategy | arangojs - v9.1.0

Type alias LoadBalancingStrategy

LoadBalancingStrategy: "NONE" | "ROUND_ROBIN" | "ONE_RANDOM"

Determines the behavior when multiple URLs are used:

+
    +
  • "NONE": No load balancing. All requests will be handled by the first +URL in the list until a network error is encountered. On network error, +arangojs will advance to using the next URL in the list.

    +
  • +
  • "ONE_RANDOM": Randomly picks one URL from the list initially, then +behaves like "NONE".

    +
  • +
  • "ROUND_ROBIN": Every sequential request uses the next URL in the list.

    +
  • +
+
\ No newline at end of file diff --git a/9.1.0/types/connection.RequestOptions.html b/9.1.0/types/connection.RequestOptions.html new file mode 100644 index 00000000..7e02a1e1 --- /dev/null +++ b/9.1.0/types/connection.RequestOptions.html @@ -0,0 +1,23 @@ +RequestOptions | arangojs - v9.1.0

Type alias RequestOptions

RequestOptions: {
    allowDirtyRead?: boolean;
    basePath?: string;
    body?: any;
    expectBinary?: boolean;
    headers?: Headers | Record<string, string>;
    isBinary?: boolean;
    method?: string;
    path?: string;
    retryOnConflict?: number;
    search?: URLSearchParams | Record<string, any>;
    timeout?: number;
}

Options for performing a request with arangojs.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    Whether ArangoDB is allowed to perform a dirty read to respond to this +request. If set to true, the response may reflect a dirty state from +a non-authoritative server.

    +
  • Optional basePath?: string

    Optional prefix path to prepend to the path.

    +
  • Optional body?: any

    Request body data.

    +
  • Optional expectBinary?: boolean

    If set to true, the response body will not be interpreted as JSON and +instead passed as-is.

    +
  • Optional headers?: Headers | Record<string, string>

    HTTP headers to pass along with this request in addition to the default +headers generated by arangojs.

    +
  • Optional isBinary?: boolean

    If set to true, the request body will not be converted to JSON and +instead passed as-is.

    +
  • Optional method?: string

    HTTP method to use in order to perform the request.

    +

    Default: "GET"

    +
  • Optional path?: string

    URL path, relative to the basePath and server domain.

    +
  • Optional retryOnConflict?: number

    If set to a positive number, the request will automatically be retried at +most this many times if it results in a write-write conflict.

    +

    Default: config.retryOnConflict

    +
  • Optional search?: URLSearchParams | Record<string, any>

    URL parameters to pass as part of the query string.

    +
  • Optional timeout?: number

    Time in milliseconds after which arangojs will abort the request if the +socket has not already timed out.

    +

    See also agentOptions.timeout in Config.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.AccessLevel.html b/9.1.0/types/database.AccessLevel.html new file mode 100644 index 00000000..e137a680 --- /dev/null +++ b/9.1.0/types/database.AccessLevel.html @@ -0,0 +1,2 @@ +AccessLevel | arangojs - v9.1.0

Type alias AccessLevel

AccessLevel: "rw" | "ro" | "none"

Access level for an ArangoDB user's access to a collection or database.

+
\ No newline at end of file diff --git a/9.1.0/types/database.AqlUserFunction.html b/9.1.0/types/database.AqlUserFunction.html new file mode 100644 index 00000000..17cb2ce8 --- /dev/null +++ b/9.1.0/types/database.AqlUserFunction.html @@ -0,0 +1,6 @@ +AqlUserFunction | arangojs - v9.1.0

Type alias AqlUserFunction

AqlUserFunction: {
    code: string;
    isDeterministic: boolean;
    name: string;
}

Definition of an AQL User Function.

+

Type declaration

  • code: string

    Implementation of the AQL User Function.

    +
  • isDeterministic: boolean

    Whether the function is deterministic.

    +

    See Database#createFunction.

    +
  • name: string

    Name of the AQL User Function.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ArangoUser.html b/9.1.0/types/database.ArangoUser.html new file mode 100644 index 00000000..481fecfb --- /dev/null +++ b/9.1.0/types/database.ArangoUser.html @@ -0,0 +1,5 @@ +ArangoUser | arangojs - v9.1.0

Type alias ArangoUser

ArangoUser: {
    active: boolean;
    extra: Record<string, any>;
    user: string;
}

Properties of an ArangoDB user object.

+

Type declaration

  • active: boolean

    Whether the ArangoDB user account is enabled and can authenticate.

    +
  • extra: Record<string, any>

    Additional information to store about this user.

    +
  • user: string

    ArangoDB username of the user.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.AstNode.html b/9.1.0/types/database.AstNode.html new file mode 100644 index 00000000..0bbb2eb4 --- /dev/null +++ b/9.1.0/types/database.AstNode.html @@ -0,0 +1,2 @@ +AstNode | arangojs - v9.1.0

Type alias AstNode

AstNode: {
    subNodes: AstNode[];
    type: string;
    [key: string]: any;
}

Node in an AQL abstract syntax tree (AST).

+

Type declaration

  • [key: string]: any
  • subNodes: AstNode[]
  • type: string
\ No newline at end of file diff --git a/9.1.0/types/database.ClusterImbalanceInfo.html b/9.1.0/types/database.ClusterImbalanceInfo.html new file mode 100644 index 00000000..b8e8836c --- /dev/null +++ b/9.1.0/types/database.ClusterImbalanceInfo.html @@ -0,0 +1,18 @@ +ClusterImbalanceInfo | arangojs - v9.1.0

Type alias ClusterImbalanceInfo

ClusterImbalanceInfo: {
    leader: {
        imbalance: number;
        leaderDupl: number[];
        numberShards: number[];
        targetWeight: number[];
        totalShards: number;
        totalWeight: number;
        weightUsed: number[];
    };
    shards: {
        imbalance: number;
        numberShards: number[];
        sizeUsed: number[];
        targetSize: number[];
        totalShards: number;
        totalShardsFromSystemCollections: number;
        totalUsed: number;
    };
}

Information about a cluster imbalance.

+

Type declaration

  • leader: {
        imbalance: number;
        leaderDupl: number[];
        numberShards: number[];
        targetWeight: number[];
        totalShards: number;
        totalWeight: number;
        weightUsed: number[];
    }

    Information about the leader imbalance.

    +
    • imbalance: number

      The measure of the total imbalance. A high value indicates a high imbalance.

      +
    • leaderDupl: number[]

      The measure of the leader shard distribution. The higher the number, the worse the distribution.

      +
    • numberShards: number[]

      The number of leader shards per DB-Server.

      +
    • targetWeight: number[]

      The ideal weight of leader shards per DB-Server.

      +
    • totalShards: number

      The sum of shards, counting leader shards only.

      +
    • totalWeight: number

      The sum of all weights.

      +
    • weightUsed: number[]

      The weight of leader shards per DB-Server. A leader has a weight of 1 by default but it is higher if collections can only be moved together because of distributeShardsLike.

      +
  • shards: {
        imbalance: number;
        numberShards: number[];
        sizeUsed: number[];
        targetSize: number[];
        totalShards: number;
        totalShardsFromSystemCollections: number;
        totalUsed: number;
    }

    Information about the shard imbalance.

    +
    • imbalance: number

      The measure of the total imbalance. A high value indicates a high imbalance.

      +
    • numberShards: number[]

      The number of leader and follower shards per DB-Server.

      +
    • sizeUsed: number[]

      The size of shards per DB-Server.

      +
    • targetSize: number[]

      The ideal size of shards per DB-Server.

      +
    • totalShards: number

      The sum of shards, counting leader and follower shards.

      +
    • totalShardsFromSystemCollections: number

      The sum of system collection shards, counting leader shards only.

      +
    • totalUsed: number

      The sum of the sizes.

      +
\ No newline at end of file diff --git a/9.1.0/types/database.ClusterRebalanceMove.html b/9.1.0/types/database.ClusterRebalanceMove.html new file mode 100644 index 00000000..8a440bed --- /dev/null +++ b/9.1.0/types/database.ClusterRebalanceMove.html @@ -0,0 +1,6 @@ +ClusterRebalanceMove | arangojs - v9.1.0

Type alias ClusterRebalanceMove

ClusterRebalanceMove: {
    collection: number;
    from: string;
    isLeader: boolean;
    shard: string;
    to: string;
}

Type declaration

  • collection: number

    Collection ID of the collection the shard belongs to.

    +
  • from: string

    The server name from which to move.

    +
  • isLeader: boolean

    True if this is a leader move shard operation.

    +
  • shard: string

    Shard ID of the shard to be moved.

    +
  • to: string

    The ID of the destination server.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ClusterRebalanceOptions.html b/9.1.0/types/database.ClusterRebalanceOptions.html new file mode 100644 index 00000000..f4f1b8b0 --- /dev/null +++ b/9.1.0/types/database.ClusterRebalanceOptions.html @@ -0,0 +1,15 @@ +ClusterRebalanceOptions | arangojs - v9.1.0

Type alias ClusterRebalanceOptions

ClusterRebalanceOptions: {
    databasesExcluded?: string[];
    excludeSystemCollections?: boolean;
    leaderChanges?: boolean;
    maximumNumberOfMoves?: number;
    moveFollowers?: boolean;
    moveLeaders?: boolean;
    piFactor?: number;
}

Options for rebalancing the cluster.

+

Type declaration

  • Optional databasesExcluded?: string[]

    A list of database names to exclude from the analysis.

    +

    Default: []

    +
  • Optional excludeSystemCollections?: boolean

    Ignore system collections in the rebalance plan.

    +

    Default: false

    +
  • Optional leaderChanges?: boolean

    Allow leader changes without moving data.

    +

    Default: true

    +
  • Optional maximumNumberOfMoves?: number

    Maximum number of moves to be computed.

    +

    Default: 1000

    +
  • Optional moveFollowers?: boolean

    Allow moving followers.

    +

    Default: false

    +
  • Optional moveLeaders?: boolean

    Allow moving leaders.

    +

    Default: false

    +
  • Optional piFactor?: number

    Default: 256**6

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ClusterRebalanceResult.html b/9.1.0/types/database.ClusterRebalanceResult.html new file mode 100644 index 00000000..ce7ea620 --- /dev/null +++ b/9.1.0/types/database.ClusterRebalanceResult.html @@ -0,0 +1,4 @@ +ClusterRebalanceResult | arangojs - v9.1.0

Type alias ClusterRebalanceResult

ClusterRebalanceResult: {
    imbalanceAfter: ClusterImbalanceInfo;
    imbalanceBefore: ClusterImbalanceInfo;
    moves: ClusterRebalanceMove[];
}

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/database.ClusterRebalanceState.html b/9.1.0/types/database.ClusterRebalanceState.html new file mode 100644 index 00000000..94f834e8 --- /dev/null +++ b/9.1.0/types/database.ClusterRebalanceState.html @@ -0,0 +1,4 @@ +ClusterRebalanceState | arangojs - v9.1.0

Type alias ClusterRebalanceState

ClusterRebalanceState: ClusterImbalanceInfo & {
    pendingMoveShards: number;
    todoMoveShards: number;
}

Information about the current state of the cluster imbalance.

+

Type declaration

  • pendingMoveShards: number

    The number of pending move shard operations.

    +
  • todoMoveShards: number

    The number of planned move shard operations.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.CreateDatabaseOptions.html b/9.1.0/types/database.CreateDatabaseOptions.html new file mode 100644 index 00000000..f5580ddc --- /dev/null +++ b/9.1.0/types/database.CreateDatabaseOptions.html @@ -0,0 +1,12 @@ +CreateDatabaseOptions | arangojs - v9.1.0

Type alias CreateDatabaseOptions

CreateDatabaseOptions: {
    replicationFactor?: "satellite" | number;
    sharding?: "" | "flexible" | "single";
    users?: CreateDatabaseUser[];
    writeConcern?: number;
}

Options for creating a database.

+

See Database#createDatabase.

+

Type declaration

  • Optional replicationFactor?: "satellite" | number

    (Cluster only.) Default replication factor for new collections in this +database.

    +

    Setting this to 1 disables replication. Setting this to "satellite" +will replicate to every DBServer.

    +
  • Optional sharding?: "" | "flexible" | "single"

    (Cluster only.) The sharding method to use for new collections in the +database.

    +
  • Optional users?: CreateDatabaseUser[]

    Database users to create with the database.

    +
  • Optional writeConcern?: number

    (Cluster only.) Default write concern for new collections created in this +database.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.CreateDatabaseUser.html b/9.1.0/types/database.CreateDatabaseUser.html new file mode 100644 index 00000000..925c7483 --- /dev/null +++ b/9.1.0/types/database.CreateDatabaseUser.html @@ -0,0 +1,8 @@ +CreateDatabaseUser | arangojs - v9.1.0

Type alias CreateDatabaseUser

CreateDatabaseUser: {
    active?: boolean;
    extra?: Record<string, any>;
    passwd?: string;
    username: string;
}

Database user to create with a database.

+

Type declaration

  • Optional active?: boolean

    Whether the user is active.

    +

    Default: true

    +
  • Optional extra?: Record<string, any>

    Additional data to store with the user object.

    +
  • Optional passwd?: string

    Password of the user to create.

    +

    Default: ""

    +
  • username: string

    Username of the user to create.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.CreateUserOptions.html b/9.1.0/types/database.CreateUserOptions.html new file mode 100644 index 00000000..cd551295 --- /dev/null +++ b/9.1.0/types/database.CreateUserOptions.html @@ -0,0 +1,8 @@ +CreateUserOptions | arangojs - v9.1.0

Type alias CreateUserOptions

CreateUserOptions: {
    active?: boolean;
    extra?: Record<string, any>;
    passwd: string;
    user: string;
}

Options for creating an ArangoDB user.

+

Type declaration

  • Optional active?: boolean

    Whether the ArangoDB user account is enabled and can authenticate.

    +

    Default: true

    +
  • Optional extra?: Record<string, any>

    Additional information to store about this user.

    +

    Default: {}

    +
  • passwd: string

    Password the ArangoDB user will use for authentication.

    +
  • user: string

    ArangoDB username of the user.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.DatabaseInfo.html b/9.1.0/types/database.DatabaseInfo.html new file mode 100644 index 00000000..37468230 --- /dev/null +++ b/9.1.0/types/database.DatabaseInfo.html @@ -0,0 +1,13 @@ +DatabaseInfo | arangojs - v9.1.0

Type alias DatabaseInfo

DatabaseInfo: {
    id: string;
    isSystem: boolean;
    name: string;
    path: string;
    replicationFactor?: "satellite" | number;
    sharding?: "" | "flexible" | "single";
    writeConcern?: number;
}

Object describing a database.

+

See Database#get.

+

Type declaration

  • id: string

    Unique identifier of the database.

    +
  • isSystem: boolean

    Whether the database is the system database.

    +
  • name: string

    Name of the database.

    +
  • path: string

    File system path of the database.

    +
  • Optional replicationFactor?: "satellite" | number

    (Cluster only.) Default replication factor for new collections in this +database.

    +
  • Optional sharding?: "" | "flexible" | "single"

    (Cluster only.) The sharding method to use for new collections in the +database.

    +
  • Optional writeConcern?: number

    (Cluster only.) Default write concern for new collections created in this +database.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ExplainOptions.html b/9.1.0/types/database.ExplainOptions.html new file mode 100644 index 00000000..9352b5f3 --- /dev/null +++ b/9.1.0/types/database.ExplainOptions.html @@ -0,0 +1,13 @@ +ExplainOptions | arangojs - v9.1.0

Type alias ExplainOptions

ExplainOptions: {
    allPlans?: boolean;
    maxNumberOfPlans?: number;
    optimizer?: {
        rules: string[];
    };
}

Options for explaining a query.

+

See Database#explain.

+

Type declaration

  • Optional allPlans?: boolean

    If set to true, all possible execution plans will be returned as the +plans property. Otherwise only the optimal execution plan will be +returned as the plan property.

    +

    Default: false

    +
  • Optional maxNumberOfPlans?: number

    Maximum number of plans that the optimizer is allowed to generate. +Setting this to a low value limits the amount of work the optimizer does.

    +
  • Optional optimizer?: {
        rules: string[];
    }

    An object with a rules property specifying a list of optimizer rules to +be included or excluded by the optimizer for this query. Prefix a rule +name with + to include it, or - to exclude it. The name all acts as +an alias matching all optimizer rules.

    +
    • rules: string[]
\ No newline at end of file diff --git a/9.1.0/types/database.ExplainPlan.html b/9.1.0/types/database.ExplainPlan.html new file mode 100644 index 00000000..36ab85ee --- /dev/null +++ b/9.1.0/types/database.ExplainPlan.html @@ -0,0 +1,9 @@ +ExplainPlan | arangojs - v9.1.0

Type alias ExplainPlan

ExplainPlan: {
    collections: {
        name: string;
        type: "read" | "write";
    }[];
    estimatedCost: number;
    estimatedNrItems: number;
    isModificationQuery: boolean;
    nodes: {
        dependencies: number[];
        estimatedCost: number;
        estimatedNrItems: number;
        id: number;
        type: string;
        [key: string]: any;
    }[];
    rules: string[];
    variables: {
        id: number;
        name: string;
    }[];
}

Plan explaining query execution.

+

Type declaration

  • collections: {
        name: string;
        type: "read" | "write";
    }[]

    Information about collections involved in the query.

    +
  • estimatedCost: number

    Total estimated cost of the plan.

    +
  • estimatedNrItems: number

    Estimated number of items returned by the query.

    +
  • isModificationQuery: boolean

    Whether the query is a data modification query.

    +
  • nodes: {
        dependencies: number[];
        estimatedCost: number;
        estimatedNrItems: number;
        id: number;
        type: string;
        [key: string]: any;
    }[]

    Execution nodes in this plan.

    +
  • rules: string[]

    Rules applied by the optimizer.

    +
  • variables: {
        id: number;
        name: string;
    }[]

    Variables used in the query.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ExplainStats.html b/9.1.0/types/database.ExplainStats.html new file mode 100644 index 00000000..5efd1760 --- /dev/null +++ b/9.1.0/types/database.ExplainStats.html @@ -0,0 +1,7 @@ +ExplainStats | arangojs - v9.1.0

Type alias ExplainStats

ExplainStats: {
    executionTime: number;
    peakMemoryUsage: number;
    plansCreated: number;
    rulesExecuted: number;
    rulesSkipped: number;
}

Optimizer statistics for an explained query.

+

Type declaration

  • executionTime: number

    Time in seconds needed to explain the query.

    +
  • peakMemoryUsage: number

    Maximum memory usage in bytes of the query during explain.

    +
  • plansCreated: number

    Total number of plans created.

    +
  • rulesExecuted: number

    Total number of rules executed for this query.

    +
  • rulesSkipped: number

    Number of rules skipped for this query.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.HotBackupList.html b/9.1.0/types/database.HotBackupList.html new file mode 100644 index 00000000..427b4164 --- /dev/null +++ b/9.1.0/types/database.HotBackupList.html @@ -0,0 +1,2 @@ +HotBackupList | arangojs - v9.1.0

Type alias HotBackupList

HotBackupList: {
    list: Record<string, HotBackupResult & {
        available: boolean;
        countIncludesFilesOnly: boolean;
        keys: any[];
        nrPiecesPresent: number;
        version: string;
    }>;
    server: string;
}

(Enterprise Edition only.) List of known hot backups.

+

Type declaration

  • list: Record<string, HotBackupResult & {
        available: boolean;
        countIncludesFilesOnly: boolean;
        keys: any[];
        nrPiecesPresent: number;
        version: string;
    }>
  • server: string
\ No newline at end of file diff --git a/9.1.0/types/database.HotBackupOptions.html b/9.1.0/types/database.HotBackupOptions.html new file mode 100644 index 00000000..fee42313 --- /dev/null +++ b/9.1.0/types/database.HotBackupOptions.html @@ -0,0 +1,15 @@ +HotBackupOptions | arangojs - v9.1.0

Type alias HotBackupOptions

HotBackupOptions: {
    allowInconsistent?: boolean;
    force?: boolean;
    label?: string;
    timeout?: number;
}

(Enterprise Edition only.) Options for creating a hot backup.

+

Type declaration

  • Optional allowInconsistent?: boolean

    If set to true and no global transaction lock can be acquired within the +given timeout, a possibly inconsistent backup is taken.

    +

    Default: false

    +
  • Optional force?: boolean

    (Enterprise Edition cluster only.) If set to true and no global +transaction lock can be acquired within the given timeout, all running +transactions are forcefully aborted to ensure that a consistent backup +can be created.

    +

    Default: false.

    +
  • Optional label?: string

    Label to appended to the backup's identifier.

    +

    Default: If omitted or empty, a UUID will be generated.

    +
  • Optional timeout?: number

    Time in seconds that the operation will attempt to get a consistent +snapshot.

    +

    Default: 120.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.HotBackupResult.html b/9.1.0/types/database.HotBackupResult.html new file mode 100644 index 00000000..314d3bd1 --- /dev/null +++ b/9.1.0/types/database.HotBackupResult.html @@ -0,0 +1,2 @@ +HotBackupResult | arangojs - v9.1.0

Type alias HotBackupResult

HotBackupResult: {
    datetime: string;
    id: string;
    nrDBServers: number;
    nrFiles: number;
    potentiallyInconsistent: boolean;
    sizeInBytes: number;
}

(Enterprise Edition only.) Result of a hot backup.

+

Type declaration

  • datetime: string
  • id: string
  • nrDBServers: number
  • nrFiles: number
  • potentiallyInconsistent: boolean
  • sizeInBytes: number
\ No newline at end of file diff --git a/9.1.0/types/database.InstallServiceOptions.html b/9.1.0/types/database.InstallServiceOptions.html new file mode 100644 index 00000000..96223ea6 --- /dev/null +++ b/9.1.0/types/database.InstallServiceOptions.html @@ -0,0 +1,15 @@ +InstallServiceOptions | arangojs - v9.1.0

Type alias InstallServiceOptions

InstallServiceOptions: {
    configuration?: Record<string, any>;
    dependencies?: Record<string, string>;
    development?: boolean;
    legacy?: boolean;
    setup?: boolean;
}

Options for installing the service.

+

See Database#installService.

+

Type declaration

  • Optional configuration?: Record<string, any>

    An object mapping configuration option names to values.

    +

    See also Database#getServiceConfiguration.

    +
  • Optional dependencies?: Record<string, string>

    An object mapping dependency aliases to mount points.

    +

    See also Database#getServiceDependencies.

    +
  • Optional development?: boolean

    Whether the service should be installed in development mode.

    +

    See also Database#setServiceDevelopmentMode.

    +

    Default: false

    +
  • Optional legacy?: boolean

    Whether the service should be installed in legacy compatibility mode

    +

    This overrides the engines option in the service manifest (if any).

    +

    Default: false

    +
  • Optional setup?: boolean

    Whether the "setup" script should be executed.

    +

    Default: true

    +
\ No newline at end of file diff --git a/9.1.0/types/database.LogEntries.html b/9.1.0/types/database.LogEntries.html new file mode 100644 index 00000000..cb9c8651 --- /dev/null +++ b/9.1.0/types/database.LogEntries.html @@ -0,0 +1,2 @@ +LogEntries | arangojs - v9.1.0

Type alias LogEntries

LogEntries: {
    level: LogLevel[];
    lid: number[];
    text: string[];
    timestamp: number[];
    topic: string[];
    totalAmount: number;
}

An object representing a list of log entries.

+

Type declaration

  • level: LogLevel[]
  • lid: number[]
  • text: string[]
  • timestamp: number[]
  • topic: string[]
  • totalAmount: number
\ No newline at end of file diff --git a/9.1.0/types/database.LogEntriesOptions.html b/9.1.0/types/database.LogEntriesOptions.html new file mode 100644 index 00000000..fbc17322 --- /dev/null +++ b/9.1.0/types/database.LogEntriesOptions.html @@ -0,0 +1,13 @@ +LogEntriesOptions | arangojs - v9.1.0

Type alias LogEntriesOptions

LogEntriesOptions: {
    level?: LogLevel | LogLevelLabel | Lowercase<LogLevelLabel>;
    offset?: number;
    search?: string;
    size?: number;
    sort?: LogSortDirection;
    start?: number;
    upto?: LogLevel | LogLevelLabel | Lowercase<LogLevelLabel>;
}

Options for retrieving log entries.

+

Type declaration

  • Optional level?: LogLevel | LogLevelLabel | Lowercase<LogLevelLabel>

    If set, only log entries with this log level will be returned.

    +
  • Optional offset?: number

    If set, this many log entries will be skipped.

    +
  • Optional search?: string

    If set, only log entries containing the specified text will be returned.

    +
  • Optional size?: number

    If set, only this many entries will be returned.

    +
  • Optional sort?: LogSortDirection

    If set to "desc", log entries will be returned in reverse chronological +order.

    +

    Default: "asc".

    +
  • Optional start?: number

    If set, only log entries with an lid greater than or equal to this value +will be returned.

    +
  • Optional upto?: LogLevel | LogLevelLabel | Lowercase<LogLevelLabel>

    Maximum log level of the entries to retrieve.

    +

    Default: INFO.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.LogLevelLabel.html b/9.1.0/types/database.LogLevelLabel.html new file mode 100644 index 00000000..d4050594 --- /dev/null +++ b/9.1.0/types/database.LogLevelLabel.html @@ -0,0 +1,2 @@ +LogLevelLabel | arangojs - v9.1.0

Type alias LogLevelLabel

LogLevelLabel: "FATAL" | "ERROR" | "WARNING" | "INFO" | "DEBUG"

String representation of the logging level of a log entry.

+
\ No newline at end of file diff --git a/9.1.0/types/database.LogLevelSetting.html b/9.1.0/types/database.LogLevelSetting.html new file mode 100644 index 00000000..519b7274 --- /dev/null +++ b/9.1.0/types/database.LogLevelSetting.html @@ -0,0 +1,2 @@ +LogLevelSetting | arangojs - v9.1.0

Type alias LogLevelSetting

LogLevelSetting: LogLevelLabel | "DEFAULT"

Logging level setting.

+
\ No newline at end of file diff --git a/9.1.0/types/database.LogMessage.html b/9.1.0/types/database.LogMessage.html new file mode 100644 index 00000000..927b6fc5 --- /dev/null +++ b/9.1.0/types/database.LogMessage.html @@ -0,0 +1,2 @@ +LogMessage | arangojs - v9.1.0

Type alias LogMessage

LogMessage: {
    date: string;
    id: number;
    level: LogLevelLabel;
    message: string;
    topic: string;
}

An object representing a single log entry.

+

Type declaration

  • date: string
  • id: number
  • level: LogLevelLabel
  • message: string
  • topic: string
\ No newline at end of file diff --git a/9.1.0/types/database.LogSortDirection.html b/9.1.0/types/database.LogSortDirection.html new file mode 100644 index 00000000..6de2877f --- /dev/null +++ b/9.1.0/types/database.LogSortDirection.html @@ -0,0 +1,2 @@ +LogSortDirection | arangojs - v9.1.0

Type alias LogSortDirection

LogSortDirection: "asc" | "desc"

Log sorting direction, ascending or descending.

+
\ No newline at end of file diff --git a/9.1.0/types/database.MultiExplainResult.html b/9.1.0/types/database.MultiExplainResult.html new file mode 100644 index 00000000..32f853ca --- /dev/null +++ b/9.1.0/types/database.MultiExplainResult.html @@ -0,0 +1,6 @@ +MultiExplainResult | arangojs - v9.1.0

Type alias MultiExplainResult

MultiExplainResult: {
    cacheable: boolean;
    plans: ExplainPlan[];
    stats: ExplainStats;
    warnings: {
        code: number;
        message: string;
    }[];
}

Result of explaining a query with multiple plans.

+

Type declaration

  • cacheable: boolean

    Whether it would be possible to cache the query.

    +
  • plans: ExplainPlan[]

    Query plans.

    +
  • stats: ExplainStats

    Optimizer statistics for the explained query.

    +
  • warnings: {
        code: number;
        message: string;
    }[]

    Warnings encountered while planning the query execution.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.MultiServiceDependency.html b/9.1.0/types/database.MultiServiceDependency.html new file mode 100644 index 00000000..f722531c --- /dev/null +++ b/9.1.0/types/database.MultiServiceDependency.html @@ -0,0 +1,10 @@ +MultiServiceDependency | arangojs - v9.1.0

Type alias MultiServiceDependency

MultiServiceDependency: {
    current?: string[];
    description?: string;
    multiple: true;
    name: string;
    required: boolean;
    title: string;
    version: string;
}

Object describing a multi-service dependency defined by a Foxx service.

+

Type declaration

  • Optional current?: string[]

    Current mount points the dependency is resolved to.

    +
  • Optional description?: string

    Human-readable description of the dependency.

    +
  • multiple: true

    Whether this is a multi-service dependency.

    +
  • name: string

    Name of the service the dependency expects to match.

    +
  • required: boolean

    Whether the dependency must be matched in order for the service +to be operational.

    +
  • title: string

    Formatted name of the dependency.

    +
  • version: string

    Version of the service the dependency expects to match.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ParseResult.html b/9.1.0/types/database.ParseResult.html new file mode 100644 index 00000000..42be96c1 --- /dev/null +++ b/9.1.0/types/database.ParseResult.html @@ -0,0 +1,6 @@ +ParseResult | arangojs - v9.1.0

Type alias ParseResult

ParseResult: {
    ast: AstNode[];
    bindVars: string[];
    collections: string[];
    parsed: boolean;
}

Result of parsing a query.

+

Type declaration

  • ast: AstNode[]

    Abstract syntax tree (AST) of the query.

    +
  • bindVars: string[]

    Names of all bind parameters used in the query.

    +
  • collections: string[]

    Names of all collections involved in the query.

    +
  • parsed: boolean

    Whether the query was parsed.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.QueryInfo.html b/9.1.0/types/database.QueryInfo.html new file mode 100644 index 00000000..647823a6 --- /dev/null +++ b/9.1.0/types/database.QueryInfo.html @@ -0,0 +1,12 @@ +QueryInfo | arangojs - v9.1.0

Type alias QueryInfo

QueryInfo: {
    bindVars: Record<string, any>;
    database: string;
    id: string;
    peakMemoryUsage: number;
    query: string;
    runTime: number;
    started: string;
    state: "executing" | "finished" | "killed";
    stream: boolean;
    user: string;
}

Object describing a query.

+

Type declaration

  • bindVars: Record<string, any>

    Bind parameters used in the query.

    +
  • database: string

    Name of the database the query runs in.

    +
  • id: string

    Unique identifier for this query.

    +
  • peakMemoryUsage: number

    Maximum memory usage in bytes of the query.

    +
  • query: string

    Query string (potentially truncated).

    +
  • runTime: number

    Query's running time in seconds.

    +
  • started: string

    Date and time the query was started.

    +
  • state: "executing" | "finished" | "killed"

    Query's current execution state.

    +
  • stream: boolean

    Whether the query uses a streaming cursor.

    +
  • user: string

    Name of the user that started the query.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.QueryOptimizerRule.html b/9.1.0/types/database.QueryOptimizerRule.html new file mode 100644 index 00000000..fd9c728b --- /dev/null +++ b/9.1.0/types/database.QueryOptimizerRule.html @@ -0,0 +1,2 @@ +QueryOptimizerRule | arangojs - v9.1.0

Type alias QueryOptimizerRule

QueryOptimizerRule: {
    flags: {
        canBeDisabled: boolean;
        canCreateAdditionalPlans: boolean;
        clusterOnly: boolean;
        disabledByDefault: boolean;
        enterpriseOnly: boolean;
        hidden: boolean;
    };
    name: string;
}

Optimizer rule for AQL queries.

+

Type declaration

  • flags: {
        canBeDisabled: boolean;
        canCreateAdditionalPlans: boolean;
        clusterOnly: boolean;
        disabledByDefault: boolean;
        enterpriseOnly: boolean;
        hidden: boolean;
    }
    • canBeDisabled: boolean
    • canCreateAdditionalPlans: boolean
    • clusterOnly: boolean
    • disabledByDefault: boolean
    • enterpriseOnly: boolean
    • hidden: boolean
  • name: string
\ No newline at end of file diff --git a/9.1.0/types/database.QueryOptions.html b/9.1.0/types/database.QueryOptions.html new file mode 100644 index 00000000..3333f606 --- /dev/null +++ b/9.1.0/types/database.QueryOptions.html @@ -0,0 +1,80 @@ +QueryOptions | arangojs - v9.1.0

Type alias QueryOptions

QueryOptions: {
    allowDirtyRead?: boolean;
    allowRetry?: boolean;
    batchSize?: number;
    cache?: boolean;
    count?: boolean;
    failOnWarning?: boolean;
    fillBlockCache?: boolean;
    fullCount?: boolean;
    intermediateCommitCount?: number;
    intermediateCommitSize?: number;
    maxNodesPerCallstack?: number;
    maxPlans?: number;
    maxRuntime?: number;
    maxTransactionSize?: number;
    maxWarningsCount?: number;
    memoryLimit?: number;
    optimizer?: {
        rules: string[];
    };
    profile?: boolean | number;
    retryOnConflict?: number;
    satelliteSyncWait?: number;
    skipInaccessibleCollections?: boolean;
    stream?: boolean;
    timeout?: number;
    ttl?: number;
}

Options for executing a query.

+

See Database#query.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the query will be executed with support for dirty reads +enabled, permitting ArangoDB to return a potentially dirty or stale result +and arangojs will load balance the request without distinguishing between +leaders and followers.

    +

    Note that dirty reads are only supported for read-only queries, not data +modification queries (e.g. using INSERT, UPDATE, REPLACE or +REMOVE) and only when using ArangoDB 3.4 or later.

    +

    Default: false

    +
  • Optional allowRetry?: boolean

    If set to true, cursor results will be stored by ArangoDB in such a way +that batch reads can be retried in the case of a communication error.

    +

    Default: false

    +
  • Optional batchSize?: number

    Number of result values to be transferred by the server in each +network roundtrip (or "batch").

    +

    Must be greater than zero.

    +
  • Optional cache?: boolean

    If set to false, the AQL query results cache lookup will be skipped for +this query.

    +

    Default: true

    +
  • Optional count?: boolean

    Unless set to false, the number of result values in the result set will +be returned in the count attribute. This may be disabled by default in +a future version of ArangoDB if calculating this value has a performance +impact for some queries.

    +

    Default: true.

    +
  • Optional failOnWarning?: boolean

    If set to true, the query will throw an exception and abort if it would + otherwise produce a warning.

    +
  • Optional fillBlockCache?: boolean

    If set to false, the query data will not be stored in the RocksDB block +cache. This can be used to avoid thrashing he block cache when reading a +lot of data.

    +
  • Optional fullCount?: boolean

    If set to true and the query has a LIMIT clause, the total number of +values matched before the last top-level LIMIT in the query was applied +will be returned in the extra.stats.fullCount attribute.

    +
  • Optional intermediateCommitCount?: number

    Maximum number of operations after which an intermediate commit is +automatically performed.

    +
  • Optional intermediateCommitSize?: number

    Maximum total size of operations in bytes after which an intermediate +commit is automatically performed.

    +
  • Optional maxNodesPerCallstack?: number

    Controls after how many execution nodes in a query a stack split should be +performed.

    +

    Default: 250 (200 on macOS)

    +
  • Optional maxPlans?: number

    Limits the maximum number of plans that will be created by the AQL query +optimizer.

    +
  • Optional maxRuntime?: number

    Maximum allowed execution time before the query will be killed in seconds.

    +

    If set to 0, the query will be allowed to run indefinitely.

    +

    Default: 0

    +
  • Optional maxTransactionSize?: number

    Maximum size of transactions in bytes.

    +
  • Optional maxWarningsCount?: number

    Limits the maximum number of warnings a query will return.

    +
  • Optional memoryLimit?: number

    Maximum memory size in bytes that the query is allowed to use. +Exceeding this value will result in the query failing with an error.

    +

    If set to 0, the memory limit is disabled.

    +

    Default: 0

    +
  • Optional optimizer?: {
        rules: string[];
    }

    An object with a rules property specifying a list of optimizer rules to +be included or excluded by the optimizer for this query. Prefix a rule +name with + to include it, or - to exclude it. The name all acts as +an alias matching all optimizer rules.

    +
    • rules: string[]
  • Optional profile?: boolean | number

    If set to 1 or true, additional query profiling information will be +returned in the extra.profile attribute if the query is not served from +the result cache.

    +

    If set to 2, the query will return execution stats per query plan node +in the extra.stats.nodes attribute. Additionally the query plan is +returned in extra.plan.

    +
  • Optional retryOnConflict?: number

    If set to a positive number, the query will automatically be retried at +most this many times if it results in a write-write conflict.

    +

    Default: 0

    +
  • Optional satelliteSyncWait?: number

    (Enterprise Edition cluster only.) Limits the maximum time in seconds a +DBServer will wait to bring satellite collections involved in the query +into sync. Exceeding this value will result in the query being stopped.

    +

    Default: 60

    +
  • Optional skipInaccessibleCollections?: boolean

    (Enterprise Edition cluster only.) If set to true, collections +inaccessible to current user will result in an access error instead +of being treated as empty.

    +
  • Optional stream?: boolean

    If set to true, the query will be executed as a streaming query.

    +
  • Optional timeout?: number

    Maximum time in milliseconds arangojs will wait for a server response. +Exceeding this value will result in the request being cancelled.

    +

    Note: Setting a timeout for the client does not guarantee the query +will be killed by ArangoDB if it is already being executed. See the +maxRuntime option for limiting the execution time within ArangoDB.

    +
  • Optional ttl?: number

    Time-to-live for the cursor in seconds. The cursor results may be +garbage collected by ArangoDB after this much time has passed.

    +

    Default: 30

    +
\ No newline at end of file diff --git a/9.1.0/types/database.QueryTracking.html b/9.1.0/types/database.QueryTracking.html new file mode 100644 index 00000000..3368efae --- /dev/null +++ b/9.1.0/types/database.QueryTracking.html @@ -0,0 +1,9 @@ +QueryTracking | arangojs - v9.1.0

Type alias QueryTracking

QueryTracking: {
    enabled: boolean;
    maxQueryStringLength: number;
    maxSlowQueries: number;
    slowQueryThreshold: number;
    trackBindVars: boolean;
    trackSlowQueries: boolean;
}

Information about query tracking.

+

Type declaration

  • enabled: boolean

    Whether query tracking is enabled.

    +
  • maxQueryStringLength: number

    Maximum query string length in bytes that is kept in the list.

    +
  • maxSlowQueries: number

    Maximum number of slow queries that is kept in the list.

    +
  • slowQueryThreshold: number

    Threshold execution time in seconds for when a query is +considered slow.

    +
  • trackBindVars: boolean

    Whether bind parameters are being tracked along with queries.

    +
  • trackSlowQueries: boolean

    Whether slow queries are being tracked.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.QueryTrackingOptions.html b/9.1.0/types/database.QueryTrackingOptions.html new file mode 100644 index 00000000..2653a63c --- /dev/null +++ b/9.1.0/types/database.QueryTrackingOptions.html @@ -0,0 +1,11 @@ +QueryTrackingOptions | arangojs - v9.1.0

Type alias QueryTrackingOptions

QueryTrackingOptions: {
    enabled?: boolean;
    maxQueryStringLength?: number;
    maxSlowQueries?: number;
    slowQueryThreshold?: number;
    trackBindVars?: boolean;
    trackSlowQueries?: boolean;
}

Options for query tracking.

+

See Database#queryTracking.

+

Type declaration

  • Optional enabled?: boolean

    If set to false, neither queries nor slow queries will be tracked.

    +
  • Optional maxQueryStringLength?: number

    Maximum query string length in bytes that will be kept in the list.

    +
  • Optional maxSlowQueries?: number

    Maximum number of slow queries to be kept in the list.

    +
  • Optional slowQueryThreshold?: number

    Threshold execution time in seconds for when a query will be +considered slow.

    +
  • Optional trackBindVars?: boolean

    If set to true, bind parameters will be tracked along with queries.

    +
  • Optional trackSlowQueries?: boolean

    If set to true and enabled is also set to true, slow queries will be +tracked if their execution time exceeds slowQueryThreshold.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.QueueTimeMetrics.html b/9.1.0/types/database.QueueTimeMetrics.html new file mode 100644 index 00000000..ff8d4347 --- /dev/null +++ b/9.1.0/types/database.QueueTimeMetrics.html @@ -0,0 +1,9 @@ +QueueTimeMetrics | arangojs - v9.1.0

Type alias QueueTimeMetrics

QueueTimeMetrics: {
    getAvg: (() => number);
    getLatest: (() => number | undefined);
    getValues: (() => [number, number][]);
}

An object providing methods for accessing queue time metrics of the most +recently received server responses if the server supports this feature.

+

Type declaration

  • getAvg: (() => number)

    Returns the average queue time of the most recently received responses +in seconds.

    +
      • (): number
      • Returns number

  • getLatest: (() => number | undefined)

    Returns the queue time of the most recently received response in seconds.

    +
      • (): number | undefined
      • Returns number | undefined

  • getValues: (() => [number, number][])

    Returns a list of the most recently received queue time values as tuples +of the timestamp of the response being processed in milliseconds and the +queue time in seconds.

    +
      • (): [number, number][]
      • Returns [number, number][]

\ No newline at end of file diff --git a/9.1.0/types/database.ReplaceServiceOptions.html b/9.1.0/types/database.ReplaceServiceOptions.html new file mode 100644 index 00000000..26e3d325 --- /dev/null +++ b/9.1.0/types/database.ReplaceServiceOptions.html @@ -0,0 +1,21 @@ +ReplaceServiceOptions | arangojs - v9.1.0

Type alias ReplaceServiceOptions

ReplaceServiceOptions: {
    configuration?: Record<string, any>;
    dependencies?: Record<string, string>;
    development?: boolean;
    force?: boolean;
    legacy?: boolean;
    setup?: boolean;
    teardown?: boolean;
}

Options for replacing a service.

+

See Database#replaceService.

+

Type declaration

  • Optional configuration?: Record<string, any>

    An object mapping configuration option names to values.

    +

    See also Database#getServiceConfiguration.

    +
  • Optional dependencies?: Record<string, string>

    An object mapping dependency aliases to mount points.

    +

    See also Database#getServiceDependencies.

    +
  • Optional development?: boolean

    Whether the service should be installed in development mode.

    +

    See also Database#setServiceDevelopmentMode.

    +

    Default: false

    +
  • Optional force?: boolean

    If set to true, replacing a service that does not already exist will +fall back to installing the new service.

    +

    Default: false

    +
  • Optional legacy?: boolean

    Whether the service should be installed in legacy compatibility mode

    +

    This overrides the engines option in the service manifest (if any).

    +

    Default: false

    +
  • Optional setup?: boolean

    Whether the "setup" script should be executed.

    +

    Default: true

    +
  • Optional teardown?: boolean

    Whether the existing service's "teardown" script should be executed +prior to removing that service.

    +

    Default: true

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceConfiguration.html b/9.1.0/types/database.ServiceConfiguration.html new file mode 100644 index 00000000..7069ffbb --- /dev/null +++ b/9.1.0/types/database.ServiceConfiguration.html @@ -0,0 +1,15 @@ +ServiceConfiguration | arangojs - v9.1.0

Type alias ServiceConfiguration

ServiceConfiguration: {
    current: any;
    currentRaw: any;
    default?: any;
    description?: string;
    required: boolean;
    title: string;
    type: "integer" | "boolean" | "string" | "number" | "json" | "password" | "int" | "bool";
}

Object describing a configuration option of a Foxx service.

+

Type declaration

  • current: any

    Processed current value of the configuration option as exposed in the +service code.

    +
  • currentRaw: any

    Current value of the configuration option as stored internally.

    +
  • Optional default?: any

    Default value of the configuration option.

    +
  • Optional description?: string

    Human-readable description of the configuration option.

    +
  • required: boolean

    Whether the configuration option must be set in order for the service +to be operational.

    +
  • title: string

    Formatted name of the configuration option.

    +
  • type: "integer" | "boolean" | "string" | "number" | "json" | "password" | "int" | "bool"

    Data type of the configuration value.

    +

    Note: "int" and "bool" are historical synonyms for "integer" and +"boolean". The "password" type is synonymous with "string" but can +be used to distinguish values which should not be displayed in plain text +by software when managing the service.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceInfo.html b/9.1.0/types/database.ServiceInfo.html new file mode 100644 index 00000000..72264f3c --- /dev/null +++ b/9.1.0/types/database.ServiceInfo.html @@ -0,0 +1,13 @@ +ServiceInfo | arangojs - v9.1.0

Type alias ServiceInfo

ServiceInfo: {
    checksum: string;
    development: boolean;
    legacy: boolean;
    manifest: FoxxManifest;
    mount: string;
    name?: string;
    options: {
        configuration: Record<string, any>;
        dependencies: Record<string, string>;
    };
    path: string;
    version?: string;
}

Object describing a Foxx service in detail.

+

Type declaration

  • checksum: string

    Internal checksum of the service's initial source bundle.

    +
  • development: boolean

    Whether development mode is enabled for this service.

    +
  • legacy: boolean

    Whether the service is running in legacy compatibility mode.

    +
  • manifest: FoxxManifest

    Content of the service manifest of this service.

    +
  • mount: string

    Service mount point, relative to the database.

    +
  • Optional name?: string

    Name defined in the service manifest.

    +
  • options: {
        configuration: Record<string, any>;
        dependencies: Record<string, string>;
    }

    Options for this service.

    +
    • configuration: Record<string, any>

      Configuration values set for this service.

      +
    • dependencies: Record<string, string>

      Service dependency configuration of this service.

      +
  • path: string

    File system path of the service.

    +
  • Optional version?: string

    Version defined in the service manifest.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceSummary.html b/9.1.0/types/database.ServiceSummary.html new file mode 100644 index 00000000..93e10ca5 --- /dev/null +++ b/9.1.0/types/database.ServiceSummary.html @@ -0,0 +1,9 @@ +ServiceSummary | arangojs - v9.1.0

Type alias ServiceSummary

ServiceSummary: {
    development: boolean;
    legacy: boolean;
    mount: string;
    name?: string;
    provides: Record<string, string>;
    version?: string;
}

Object briefly describing a Foxx service.

+

Type declaration

  • development: boolean

    Whether development mode is enabled for this service.

    +
  • legacy: boolean

    Whether the service is running in legacy compatibility mode.

    +
  • mount: string

    Service mount point, relative to the database.

    +
  • Optional name?: string

    Name defined in the service manifest.

    +
  • provides: Record<string, string>

    Service dependencies the service expects to be able to match as a mapping +from dependency names to versions the service is compatible with.

    +
  • Optional version?: string

    Version defined in the service manifest.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestDefaultReport.html b/9.1.0/types/database.ServiceTestDefaultReport.html new file mode 100644 index 00000000..2fa62e77 --- /dev/null +++ b/9.1.0/types/database.ServiceTestDefaultReport.html @@ -0,0 +1,2 @@ +ServiceTestDefaultReport | arangojs - v9.1.0

Type alias ServiceTestDefaultReport

ServiceTestDefaultReport: {
    failures: ServiceTestDefaultTest[];
    passes: ServiceTestDefaultTest[];
    pending: ServiceTestDefaultTest[];
    stats: ServiceTestStats;
    tests: ServiceTestDefaultTest[];
}

Test results for a Foxx service's tests using the default reporter.

+
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestDefaultTest.html b/9.1.0/types/database.ServiceTestDefaultTest.html new file mode 100644 index 00000000..515227c8 --- /dev/null +++ b/9.1.0/types/database.ServiceTestDefaultTest.html @@ -0,0 +1,2 @@ +ServiceTestDefaultTest | arangojs - v9.1.0

Type alias ServiceTestDefaultTest

ServiceTestDefaultTest: {
    duration: number;
    err?: string;
    fullTitle: string;
    title: string;
}

Test results for a single test case using the default reporter.

+

Type declaration

  • duration: number
  • Optional err?: string
  • fullTitle: string
  • title: string
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestStats.html b/9.1.0/types/database.ServiceTestStats.html new file mode 100644 index 00000000..3f8bfe63 --- /dev/null +++ b/9.1.0/types/database.ServiceTestStats.html @@ -0,0 +1,7 @@ +ServiceTestStats | arangojs - v9.1.0

Type alias ServiceTestStats

ServiceTestStats: {
    duration: number;
    failures: number;
    passes: number;
    pending: number;
    tests: number;
}

Test stats for a Foxx service's tests.

+

Type declaration

  • duration: number

    Total test duration in milliseconds.

    +
  • failures: number

    Number of tests that failed.

    +
  • passes: number

    Number of tests that ran successfully.

    +
  • pending: number

    Number of tests skipped or not executed.

    +
  • tests: number

    Total number of tests found.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestStreamReport.html b/9.1.0/types/database.ServiceTestStreamReport.html new file mode 100644 index 00000000..d9922a0b --- /dev/null +++ b/9.1.0/types/database.ServiceTestStreamReport.html @@ -0,0 +1,2 @@ +ServiceTestStreamReport | arangojs - v9.1.0

Type alias ServiceTestStreamReport

ServiceTestStreamReport: (["start", {
    total: number;
}] | ["pass", ServiceTestStreamTest] | ["fail", ServiceTestStreamTest] | ["end", ServiceTestStats])[]

Test results for a Foxx service's tests using the stream reporter.

+
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestStreamTest.html b/9.1.0/types/database.ServiceTestStreamTest.html new file mode 100644 index 00000000..6a9e29f4 --- /dev/null +++ b/9.1.0/types/database.ServiceTestStreamTest.html @@ -0,0 +1,2 @@ +ServiceTestStreamTest | arangojs - v9.1.0

Type alias ServiceTestStreamTest

ServiceTestStreamTest: {
    duration: number;
    err?: string;
    fullTitle: string;
    title: string;
}

Test results for a single test case using the stream reporter.

+

Type declaration

  • duration: number
  • Optional err?: string
  • fullTitle: string
  • title: string
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestSuite.html b/9.1.0/types/database.ServiceTestSuite.html new file mode 100644 index 00000000..5bd58f70 --- /dev/null +++ b/9.1.0/types/database.ServiceTestSuite.html @@ -0,0 +1,2 @@ +ServiceTestSuite | arangojs - v9.1.0

Type alias ServiceTestSuite

ServiceTestSuite: {
    suites: ServiceTestSuite[];
    tests: ServiceTestSuiteTest[];
    title: string;
}

Test results for a single test suite using the suite reporter.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestSuiteReport.html b/9.1.0/types/database.ServiceTestSuiteReport.html new file mode 100644 index 00000000..c1f89581 --- /dev/null +++ b/9.1.0/types/database.ServiceTestSuiteReport.html @@ -0,0 +1,2 @@ +ServiceTestSuiteReport | arangojs - v9.1.0

Type alias ServiceTestSuiteReport

ServiceTestSuiteReport: {
    stats: ServiceTestStats;
    suites: ServiceTestSuite[];
    tests: ServiceTestSuiteTest[];
}

Test results for a Foxx service's tests using the suite reporter.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestSuiteTest.html b/9.1.0/types/database.ServiceTestSuiteTest.html new file mode 100644 index 00000000..d0556809 --- /dev/null +++ b/9.1.0/types/database.ServiceTestSuiteTest.html @@ -0,0 +1,2 @@ +ServiceTestSuiteTest | arangojs - v9.1.0

Type alias ServiceTestSuiteTest

ServiceTestSuiteTest: {
    duration: number;
    err?: any;
    result: "pending" | "pass" | "fail";
    title: string;
}

Test results for a single test case using the suite reporter.

+

Type declaration

  • duration: number
  • Optional err?: any
  • result: "pending" | "pass" | "fail"
  • title: string
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestTapReport.html b/9.1.0/types/database.ServiceTestTapReport.html new file mode 100644 index 00000000..4f20765e --- /dev/null +++ b/9.1.0/types/database.ServiceTestTapReport.html @@ -0,0 +1,2 @@ +ServiceTestTapReport | arangojs - v9.1.0

Type alias ServiceTestTapReport

ServiceTestTapReport: string[]

Test results for a Foxx service's tests in TAP format.

+
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestXunitReport.html b/9.1.0/types/database.ServiceTestXunitReport.html new file mode 100644 index 00000000..73666182 --- /dev/null +++ b/9.1.0/types/database.ServiceTestXunitReport.html @@ -0,0 +1,3 @@ +ServiceTestXunitReport | arangojs - v9.1.0

Type alias ServiceTestXunitReport

ServiceTestXunitReport: ["testsuite", {
    errors: number;
    failures: number;
    skip: number;
    tests: number;
    time: number;
    timestamp: number;
}, ...ServiceTestXunitTest[]]

Test results for a Foxx service's tests in XUnit format using the JSONML +representation.

+

Type declaration

  • errors: number
  • failures: number
  • skip: number
  • tests: number
  • time: number
  • timestamp: number
\ No newline at end of file diff --git a/9.1.0/types/database.ServiceTestXunitTest.html b/9.1.0/types/database.ServiceTestXunitTest.html new file mode 100644 index 00000000..d86c0deb --- /dev/null +++ b/9.1.0/types/database.ServiceTestXunitTest.html @@ -0,0 +1,3 @@ +ServiceTestXunitTest | arangojs - v9.1.0

Type alias ServiceTestXunitTest

ServiceTestXunitTest: ["testcase", {
    classname: string;
    name: string;
    time: number;
}] | ["testcase", {
    classname: string;
    name: string;
    time: number;
}, ["failure", {
    message: string;
    type: string;
}, string]]

Test results for a single test case in XUnit format using the JSONML +representation.

+
\ No newline at end of file diff --git a/9.1.0/types/database.SingleExplainResult.html b/9.1.0/types/database.SingleExplainResult.html new file mode 100644 index 00000000..e7490046 --- /dev/null +++ b/9.1.0/types/database.SingleExplainResult.html @@ -0,0 +1,6 @@ +SingleExplainResult | arangojs - v9.1.0

Type alias SingleExplainResult

SingleExplainResult: {
    cacheable: boolean;
    plan: ExplainPlan;
    stats: ExplainStats;
    warnings: {
        code: number;
        message: string;
    }[];
}

Result of explaining a query with a single plan.

+

Type declaration

  • cacheable: boolean

    Whether it would be possible to cache the query.

    +
  • plan: ExplainPlan

    Query plan.

    +
  • stats: ExplainStats

    Optimizer statistics for the explained query.

    +
  • warnings: {
        code: number;
        message: string;
    }[]

    Warnings encountered while planning the query execution.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.SingleServiceDependency.html b/9.1.0/types/database.SingleServiceDependency.html new file mode 100644 index 00000000..347706d6 --- /dev/null +++ b/9.1.0/types/database.SingleServiceDependency.html @@ -0,0 +1,10 @@ +SingleServiceDependency | arangojs - v9.1.0

Type alias SingleServiceDependency

SingleServiceDependency: {
    current?: string;
    description?: string;
    multiple: false;
    name: string;
    required: boolean;
    title: string;
    version: string;
}

Object describing a single-service dependency defined by a Foxx service.

+

Type declaration

  • Optional current?: string

    Current mount point the dependency is resolved to.

    +
  • Optional description?: string

    Human-readable description of the dependency.

    +
  • multiple: false

    Whether this is a multi-service dependency.

    +
  • name: string

    Name of the service the dependency expects to match.

    +
  • required: boolean

    Whether the dependency must be matched in order for the service +to be operational.

    +
  • title: string

    Formatted name of the dependency.

    +
  • version: string

    Version of the service the dependency expects to match.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.SwaggerJson.html b/9.1.0/types/database.SwaggerJson.html new file mode 100644 index 00000000..1f50f0e7 --- /dev/null +++ b/9.1.0/types/database.SwaggerJson.html @@ -0,0 +1,2 @@ +SwaggerJson | arangojs - v9.1.0

Type alias SwaggerJson

SwaggerJson: {
    info: {
        description: string;
        license: string;
        title: string;
        version: string;
    };
    path: {
        [key: string]: any;
    };
    [key: string]: any;
}

OpenAPI 2.0 description of a Foxx service.

+

Type declaration

  • [key: string]: any
  • info: {
        description: string;
        license: string;
        title: string;
        version: string;
    }
    • description: string
    • license: string
    • title: string
    • version: string
  • path: {
        [key: string]: any;
    }
    • [key: string]: any
\ No newline at end of file diff --git a/9.1.0/types/database.TransactionCollections.html b/9.1.0/types/database.TransactionCollections.html new file mode 100644 index 00000000..244886fd --- /dev/null +++ b/9.1.0/types/database.TransactionCollections.html @@ -0,0 +1,9 @@ +TransactionCollections | arangojs - v9.1.0

Type alias TransactionCollections

TransactionCollections: {
    exclusive?: (string | ArangoCollection)[] | string | ArangoCollection;
    read?: (string | ArangoCollection)[] | string | ArangoCollection;
    write?: (string | ArangoCollection)[] | string | ArangoCollection;
}

Collections involved in a transaction.

+

Type declaration

  • Optional exclusive?: (string | ArangoCollection)[] | string | ArangoCollection

    An array of collections or a single collection that will be read from or +written to during the transaction with no other writes being able to run +in parallel.

    +
  • Optional read?: (string | ArangoCollection)[] | string | ArangoCollection

    An array of collections or a single collection that will be read from +during the transaction.

    +
  • Optional write?: (string | ArangoCollection)[] | string | ArangoCollection

    An array of collections or a single collection that will be read from or +written to during the transaction.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.TransactionDetails.html b/9.1.0/types/database.TransactionDetails.html new file mode 100644 index 00000000..c4879f8c --- /dev/null +++ b/9.1.0/types/database.TransactionDetails.html @@ -0,0 +1,5 @@ +TransactionDetails | arangojs - v9.1.0

Type alias TransactionDetails

TransactionDetails: {
    id: string;
    state: "running" | "committed" | "aborted";
}

Details for a transaction.

+

See also transaction.TransactionStatus.

+

Type declaration

  • id: string

    Unique identifier of the transaction.

    +
  • state: "running" | "committed" | "aborted"

    Status (or "state") of the transaction.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.TransactionOptions.html b/9.1.0/types/database.TransactionOptions.html new file mode 100644 index 00000000..fe56be6c --- /dev/null +++ b/9.1.0/types/database.TransactionOptions.html @@ -0,0 +1,18 @@ +TransactionOptions | arangojs - v9.1.0

Type alias TransactionOptions

TransactionOptions: {
    allowDirtyRead?: boolean;
    allowImplicit?: boolean;
    lockTimeout?: number;
    maxTransactionSize?: number;
    skipFastLockRound?: boolean;
    waitForSync?: boolean;
}

Options for how the transaction should be performed.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
  • Optional allowImplicit?: boolean

    Whether the transaction may read from collections not specified for this +transaction. If set to false, accessing any collections not specified +will result in the transaction being aborted to avoid potential deadlocks.

    +

    Default: true.

    +
  • Optional lockTimeout?: number

    Determines how long the database will wait while attempting to gain locks +on collections used by the transaction before timing out.

    +
  • Optional maxTransactionSize?: number

    Determines the transaction size limit in bytes.

    +
  • Optional skipFastLockRound?: boolean

    If set to true, the fast lock round will be skipped, which makes each +locking operation take longer but guarantees deterministic locking order +and may avoid deadlocks when many concurrent transactions are queued and +try to access the same collection with an exclusive lock.

    +
  • Optional waitForSync?: boolean

    Determines whether to force the transaction to write all data to disk +before returning.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.UninstallServiceOptions.html b/9.1.0/types/database.UninstallServiceOptions.html new file mode 100644 index 00000000..498b0304 --- /dev/null +++ b/9.1.0/types/database.UninstallServiceOptions.html @@ -0,0 +1,9 @@ +UninstallServiceOptions | arangojs - v9.1.0

Type alias UninstallServiceOptions

UninstallServiceOptions: {
    force?: boolean;
    teardown?: boolean;
}

Options for uninstalling a service.

+

See Database#uninstallService.

+

Type declaration

  • Optional force?: boolean

    If set to true, uninstalling a service that does not already exist +will be considered successful.

    +

    Default: false

    +
  • Optional teardown?: boolean

    Whether the service's "teardown" script should be executed +prior to removing that service.

    +

    Default: true

    +
\ No newline at end of file diff --git a/9.1.0/types/database.UpgradeServiceOptions.html b/9.1.0/types/database.UpgradeServiceOptions.html new file mode 100644 index 00000000..a2d88ebc --- /dev/null +++ b/9.1.0/types/database.UpgradeServiceOptions.html @@ -0,0 +1,21 @@ +UpgradeServiceOptions | arangojs - v9.1.0

Type alias UpgradeServiceOptions

UpgradeServiceOptions: {
    configuration?: Record<string, any>;
    dependencies?: Record<string, string>;
    development?: boolean;
    force?: boolean;
    legacy?: boolean;
    setup?: boolean;
    teardown?: boolean;
}

Options for upgrading a service.

+

See Database#upgradeService.

+

Type declaration

  • Optional configuration?: Record<string, any>

    An object mapping configuration option names to values.

    +

    See also Database#getServiceConfiguration.

    +
  • Optional dependencies?: Record<string, string>

    An object mapping dependency aliases to mount points.

    +

    See also Database#getServiceDependencies.

    +
  • Optional development?: boolean

    Whether the service should be installed in development mode.

    +

    See also Database#setServiceDevelopmentMode.

    +

    Default: false

    +
  • Optional force?: boolean

    Unless set to true, upgrading a service that does not already exist will +fall back to installing the new service.

    +

    Default: false

    +
  • Optional legacy?: boolean

    Whether the service should be installed in legacy compatibility mode

    +

    This overrides the engines option in the service manifest (if any).

    +

    Default: false

    +
  • Optional setup?: boolean

    Whether the "setup" script should be executed.

    +

    Default: true

    +
  • Optional teardown?: boolean

    Whether the existing service's "teardown" script should be executed +prior to upgrading that service.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/database.UserAccessLevelOptions.html b/9.1.0/types/database.UserAccessLevelOptions.html new file mode 100644 index 00000000..ca057f92 --- /dev/null +++ b/9.1.0/types/database.UserAccessLevelOptions.html @@ -0,0 +1,7 @@ +UserAccessLevelOptions | arangojs - v9.1.0

Type alias UserAccessLevelOptions

UserAccessLevelOptions: {
    collection?: ArangoCollection | string;
    database?: Database | string;
}

Options for accessing or manipulating access levels.

+

Type declaration

  • Optional collection?: ArangoCollection | string

    The collection to access or manipulate the access level of.

    +
  • Optional database?: Database | string

    The database to access or manipulate the access level of.

    +

    If collection is an ArangoCollection, this option defaults to the +database the collection is contained in. Otherwise this option defaults to +the current database.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.UserOptions.html b/9.1.0/types/database.UserOptions.html new file mode 100644 index 00000000..6f5c0656 --- /dev/null +++ b/9.1.0/types/database.UserOptions.html @@ -0,0 +1,7 @@ +UserOptions | arangojs - v9.1.0

Type alias UserOptions

UserOptions: {
    active?: boolean;
    extra?: Record<string, any>;
    passwd: string;
}

Options for modifying an ArangoDB user.

+

Type declaration

  • Optional active?: boolean

    Whether the ArangoDB user account is enabled and can authenticate.

    +

    Default: true

    +
  • Optional extra?: Record<string, any>

    Additional information to store about this user.

    +

    Default: {}

    +
  • passwd: string

    Password the ArangoDB user will use for authentication.

    +
\ No newline at end of file diff --git a/9.1.0/types/database.VersionInfo.html b/9.1.0/types/database.VersionInfo.html new file mode 100644 index 00000000..93dfa85c --- /dev/null +++ b/9.1.0/types/database.VersionInfo.html @@ -0,0 +1,6 @@ +VersionInfo | arangojs - v9.1.0

Type alias VersionInfo

VersionInfo: {
    details?: {
        [key: string]: string;
    };
    license: "community" | "enterprise";
    server: string;
    version: string;
}

Result of retrieving database version information.

+

Type declaration

  • Optional details?: {
        [key: string]: string;
    }

    Additional information about the ArangoDB server.

    +
    • [key: string]: string
  • license: "community" | "enterprise"

    ArangoDB license type or "edition".

    +
  • server: string

    Value identifying the server type, i.e. "arango".

    +
  • version: string

    ArangoDB server version.

    +
\ No newline at end of file diff --git a/9.1.0/types/documents.Document.html b/9.1.0/types/documents.Document.html new file mode 100644 index 00000000..4e1200c9 --- /dev/null +++ b/9.1.0/types/documents.Document.html @@ -0,0 +1,2 @@ +Document | arangojs - v9.1.0

Type alias Document<T>

Document<T>: T & DocumentMetadata & Partial<EdgeMetadata>

Type representing a document stored in a collection.

+

Type Parameters

  • T extends Record<string, any> = any
\ No newline at end of file diff --git a/9.1.0/types/documents.DocumentData.html b/9.1.0/types/documents.DocumentData.html new file mode 100644 index 00000000..61fedec9 --- /dev/null +++ b/9.1.0/types/documents.DocumentData.html @@ -0,0 +1,2 @@ +DocumentData | arangojs - v9.1.0

Type alias DocumentData<T>

DocumentData<T>: T & Partial<DocumentMetadata> & Partial<EdgeMetadata>

Type representing an object that can be stored in a collection.

+

Type Parameters

  • T extends Record<string, any> = any
\ No newline at end of file diff --git a/9.1.0/types/documents.DocumentMetadata.html b/9.1.0/types/documents.DocumentMetadata.html new file mode 100644 index 00000000..756d9cc0 --- /dev/null +++ b/9.1.0/types/documents.DocumentMetadata.html @@ -0,0 +1,7 @@ +DocumentMetadata | arangojs - v9.1.0

Type alias DocumentMetadata

DocumentMetadata: {
    _id: string;
    _key: string;
    _rev: string;
}

Common ArangoDB metadata properties of a document.

+

Type declaration

  • _id: string

    Unique ID of the document, which is composed of the collection name +and the document _key.

    +
  • _key: string

    Key of the document, which uniquely identifies the document within its +collection.

    +
  • _rev: string

    Revision of the document data.

    +
\ No newline at end of file diff --git a/9.1.0/types/documents.DocumentSelector.html b/9.1.0/types/documents.DocumentSelector.html new file mode 100644 index 00000000..5a84cfc6 --- /dev/null +++ b/9.1.0/types/documents.DocumentSelector.html @@ -0,0 +1,5 @@ +DocumentSelector | arangojs - v9.1.0

Type alias DocumentSelector

DocumentSelector: ObjectWithId | ObjectWithKey | string

A value that can be used to identify a document within a collection in +arangojs methods, i.e. a partial ArangoDB document or the value of a +document's _key or _id.

+

See documents.DocumentMetadata.

+
\ No newline at end of file diff --git a/9.1.0/types/documents.Edge.html b/9.1.0/types/documents.Edge.html new file mode 100644 index 00000000..dfd270c0 --- /dev/null +++ b/9.1.0/types/documents.Edge.html @@ -0,0 +1,2 @@ +Edge | arangojs - v9.1.0

Type alias Edge<T>

Type representing an edge document stored in an edge collection.

+

Type Parameters

  • T extends Record<string, any> = any
\ No newline at end of file diff --git a/9.1.0/types/documents.EdgeData.html b/9.1.0/types/documents.EdgeData.html new file mode 100644 index 00000000..b4576e98 --- /dev/null +++ b/9.1.0/types/documents.EdgeData.html @@ -0,0 +1,2 @@ +EdgeData | arangojs - v9.1.0

Type alias EdgeData<T>

EdgeData<T>: T & Partial<DocumentMetadata> & EdgeMetadata

Type representing an object that can be stored in an edge collection.

+

Type Parameters

  • T extends Record<string, any> = any
\ No newline at end of file diff --git a/9.1.0/types/documents.EdgeMetadata.html b/9.1.0/types/documents.EdgeMetadata.html new file mode 100644 index 00000000..9e946d5f --- /dev/null +++ b/9.1.0/types/documents.EdgeMetadata.html @@ -0,0 +1,4 @@ +EdgeMetadata | arangojs - v9.1.0

Type alias EdgeMetadata

EdgeMetadata: {
    _from: string;
    _to: string;
}

ArangoDB metadata defining the relations of an edge document.

+

Type declaration

  • _from: string

    Unique ID of the document that acts as the edge's start vertex.

    +
  • _to: string

    Unique ID of the document that acts as the edge's end vertex.

    +
\ No newline at end of file diff --git a/9.1.0/types/documents.ObjectWithId.html b/9.1.0/types/documents.ObjectWithId.html new file mode 100644 index 00000000..721ddd13 --- /dev/null +++ b/9.1.0/types/documents.ObjectWithId.html @@ -0,0 +1,3 @@ +ObjectWithId | arangojs - v9.1.0

Type alias ObjectWithId

ObjectWithId: {
    _id: string;
    [key: string]: any;
}

An object with an ArangoDB document _id property.

+

See documents.DocumentMetadata.

+

Type declaration

  • [key: string]: any
  • _id: string
\ No newline at end of file diff --git a/9.1.0/types/documents.ObjectWithKey.html b/9.1.0/types/documents.ObjectWithKey.html new file mode 100644 index 00000000..8183fb7b --- /dev/null +++ b/9.1.0/types/documents.ObjectWithKey.html @@ -0,0 +1,3 @@ +ObjectWithKey | arangojs - v9.1.0

Type alias ObjectWithKey

ObjectWithKey: {
    _key: string;
    [key: string]: any;
}

An object with an ArangoDB document _key property.

+

See documents.DocumentMetadata.

+

Type declaration

  • [key: string]: any
  • _key: string
\ No newline at end of file diff --git a/9.1.0/types/documents.Patch.html b/9.1.0/types/documents.Patch.html new file mode 100644 index 00000000..aaf2c9ec --- /dev/null +++ b/9.1.0/types/documents.Patch.html @@ -0,0 +1,5 @@ +Patch | arangojs - v9.1.0

Type alias Patch<T>

Patch<T>: {
    [K in keyof T]?: T[K] | Patch<T[K]>
}

Type representing patch data for a given object type to represent a payload +ArangoDB can apply in a document PATCH request (i.e. a partial update).

+

This differs from Partial in that it also applies itself to any nested +objects recursively.

+

Type Parameters

  • T = Record<string, any>
\ No newline at end of file diff --git a/9.1.0/types/foxx_manifest.Configuration.html b/9.1.0/types/foxx_manifest.Configuration.html new file mode 100644 index 00000000..1069110a --- /dev/null +++ b/9.1.0/types/foxx_manifest.Configuration.html @@ -0,0 +1,6 @@ +Configuration | arangojs - v9.1.0

Type alias Configuration

Configuration: {
    default?: any;
    description?: string;
    required?: boolean;
    type: "integer" | "boolean" | "number" | "string" | "json" | "password" | "int" | "bool";
}

A configuration option.

+

Type declaration

  • Optional default?: any

    The default value for this option in plain JSON. Can be omitted to provide no default value.

    +
  • Optional description?: string

    A human-readable description of the option.

    +
  • Optional required?: boolean

    Whether the service can not function without this option. Defaults to true unless a default value is provided.

    +
  • type: "integer" | "boolean" | "number" | "string" | "json" | "password" | "int" | "bool"

    The type of value expected for this option.

    +
\ No newline at end of file diff --git a/9.1.0/types/foxx_manifest.Dependency.html b/9.1.0/types/foxx_manifest.Dependency.html new file mode 100644 index 00000000..f0b9ec86 --- /dev/null +++ b/9.1.0/types/foxx_manifest.Dependency.html @@ -0,0 +1,7 @@ +Dependency | arangojs - v9.1.0

Type alias Dependency

Dependency: {
    description?: string;
    multiple?: boolean;
    name?: string;
    required?: boolean;
    version?: string;
}

A service dependency.

+

Type declaration

  • Optional description?: string

    A description of how the API is used or why it is needed.

    +
  • Optional multiple?: boolean

    Whether the dependency can be specified more than once.

    +
  • Optional name?: string

    Name of the API the service expects.

    +
  • Optional required?: boolean

    Whether the service can not function without this dependency.

    +
  • Optional version?: string

    The semantic version ranges of the API the service expects.

    +
\ No newline at end of file diff --git a/9.1.0/types/foxx_manifest.File.html b/9.1.0/types/foxx_manifest.File.html new file mode 100644 index 00000000..8e65ece6 --- /dev/null +++ b/9.1.0/types/foxx_manifest.File.html @@ -0,0 +1,5 @@ +File | arangojs - v9.1.0
File: {
    gzip?: boolean;
    path: string;
    type?: string;
}

A service file asset.

+

Type declaration

  • Optional gzip?: boolean

    If set to true the file will be served with gzip-encoding if supported by the client. This can be useful when serving text files like client-side JavaScript, CSS or HTML.

    +
  • path: string

    Relative path of the file or folder within the service.

    +
  • Optional type?: string

    The MIME content type of the file. Defaults to an intelligent guess based on the filename's extension.

    +
\ No newline at end of file diff --git a/9.1.0/types/foxx_manifest.FoxxManifest.html b/9.1.0/types/foxx_manifest.FoxxManifest.html new file mode 100644 index 00000000..1de85182 --- /dev/null +++ b/9.1.0/types/foxx_manifest.FoxxManifest.html @@ -0,0 +1,20 @@ +FoxxManifest | arangojs - v9.1.0

Type alias FoxxManifest

FoxxManifest: {
    author?: string;
    configuration?: Record<string, Configuration>;
    contributors?: string[];
    defaultDocument?: string;
    dependencies?: Record<string, string | Dependency>;
    description?: string;
    engines?: Record<string, string> & {
        arangodb?: string;
    };
    files?: Record<string, string | File>;
    keywords?: string[];
    lib?: string;
    license?: string;
    main?: string;
    name?: string;
    provides?: Record<string, string>;
    scripts?: Record<string, string>;
    tests?: string | string[];
    thumbnail?: string;
    version?: string;
}

Schema for ArangoDB Foxx service manifests.

+

Type declaration

  • Optional author?: string

    The full name of the author of the service (i.e. you). This will be shown in the web interface.

    +
  • Optional configuration?: Record<string, Configuration>

    An object defining the configuration options this service requires.

    +
  • Optional contributors?: string[]

    A list of names of people that have contributed to the development of the service in some way. This will be shown in the web interface.

    +
  • Optional defaultDocument?: string

    If specified, the / (root) route of the service will automatically redirect to the given relative path, e.g. "index.html".

    +
  • Optional dependencies?: Record<string, string | Dependency>

    The dependencies this service uses, i.e. which APIs its dependencies need to be compatible with.

    +
  • Optional description?: string

    A human-readable description of the service. This will be shown in the web interface.

    +
  • Optional engines?: Record<string, string> & {
        arangodb?: string;
    }

    An object indicating the semantic version ranges of ArangoDB (or compatible environments) the service will be compatible with.

    +
  • Optional files?: Record<string, string | File>

    An object defining file assets served by this service.

    +
  • Optional keywords?: string[]

    A list of keywords that help categorize this service. This is used by the Foxx Store installers to organize services.

    +
  • Optional lib?: string

    The relative path to the Foxx JavaScript files in the service, e.g. "lib". Defaults to the folder containing this manifest.

    +
  • Optional license?: string

    A string identifying the license under which the service is published, ideally in the form of an SPDX license identifier. This will be shown in the web interface.

    +
  • Optional main?: string

    The relative path to the main entry point of this service (relative to lib), e.g. "index.js".

    +
  • Optional name?: string

    The name of the Foxx service. This will be shown in the web interface.

    +
  • Optional provides?: Record<string, string>

    The dependencies this provides, i.e. which APIs it claims to be compatible with.

    +
  • Optional scripts?: Record<string, string>

    An object defining named scripts provided by this service, which can either be used directly or as queued jobs by other services.

    +
  • Optional tests?: string | string[]

    A path/pattern or list of paths/patterns of JavaScript tests provided for this service.

    +
  • Optional thumbnail?: string

    The filename of a thumbnail that will be used alongside the service in the web interface. This should be a JPEG or PNG image that looks good at sizes 50x50 and 160x160.

    +
  • Optional version?: string

    The version number of the Foxx service. The version number must follow the semantic versioning format. This will be shown in the web interface.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.AddEdgeDefinitionOptions.html b/9.1.0/types/graph.AddEdgeDefinitionOptions.html new file mode 100644 index 00000000..4d17352c --- /dev/null +++ b/9.1.0/types/graph.AddEdgeDefinitionOptions.html @@ -0,0 +1,3 @@ +AddEdgeDefinitionOptions | arangojs - v9.1.0

Type alias AddEdgeDefinitionOptions

AddEdgeDefinitionOptions: {
    satellites?: (string | ArangoCollection)[];
}

Type declaration

  • Optional satellites?: (string | ArangoCollection)[]

    (Enterprise Edition cluster only.) Collections to be included in a Hybrid +SmartGraph.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.AddVertexCollectionOptions.html b/9.1.0/types/graph.AddVertexCollectionOptions.html new file mode 100644 index 00000000..ba36698f --- /dev/null +++ b/9.1.0/types/graph.AddVertexCollectionOptions.html @@ -0,0 +1,3 @@ +AddVertexCollectionOptions | arangojs - v9.1.0

Type alias AddVertexCollectionOptions

AddVertexCollectionOptions: {
    satellites?: (string | ArangoCollection)[];
}

Type declaration

  • Optional satellites?: (string | ArangoCollection)[]

    (Enterprise Edition cluster only.) Collections to be included in a Hybrid +SmartGraph.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.CreateGraphOptions.html b/9.1.0/types/graph.CreateGraphOptions.html new file mode 100644 index 00000000..12d71a31 --- /dev/null +++ b/9.1.0/types/graph.CreateGraphOptions.html @@ -0,0 +1,25 @@ +CreateGraphOptions | arangojs - v9.1.0

Type alias CreateGraphOptions

CreateGraphOptions: {
    isDisjoint?: boolean;
    isSmart?: boolean;
    numberOfShards?: number;
    orphanCollections?: (string | ArangoCollection)[] | string | ArangoCollection;
    replicationFactor?: number | "satellite";
    satellites?: (string | ArangoCollection)[];
    smartGraphAttribute?: string;
    waitForSync?: boolean;
    writeConcern?: number;
}

Option for creating a graph.

+

Type declaration

  • Optional isDisjoint?: boolean

    (Enterprise Edition cluster only.) If set to true, the graph will be +created as a Disjoint SmartGraph.

    +

    Default: false

    +
  • Optional isSmart?: boolean

    (Enterprise Edition cluster only.) If set to true, the graph will be +created as a SmartGraph.

    +

    Default: false

    +
  • Optional numberOfShards?: number

    (Cluster only.) Number of shards that is used for every collection +within this graph.

    +

    Has no effect when replicationFactor is set to "satellite".

    +
  • Optional orphanCollections?: (string | ArangoCollection)[] | string | ArangoCollection

    Additional vertex collections. Documents within these collections do not +have edges within this graph.

    +
  • Optional replicationFactor?: number | "satellite"

    (Cluster only.) Replication factor used when initially creating +collections for this graph.

    +

    Default: 1

    +
  • Optional satellites?: (string | ArangoCollection)[]

    (Enterprise Edition cluster only.) Collections to be included in a Hybrid +SmartGraph.

    +
  • Optional smartGraphAttribute?: string

    (Enterprise Edition cluster only.) Attribute containing the shard key +value to use for smart sharding.

    +
  • Optional waitForSync?: boolean

    If set to true, the request will wait until all modifications have been +synchronized to disk before returning successfully.

    +

    Default: false

    +
  • Optional writeConcern?: number

    (Cluster only.) Write concern for new collections in the graph.

    +

    Has no effect when replicationFactor is set to "satellite".

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.EdgeDefinition.html b/9.1.0/types/graph.EdgeDefinition.html new file mode 100644 index 00000000..4595b980 --- /dev/null +++ b/9.1.0/types/graph.EdgeDefinition.html @@ -0,0 +1,5 @@ +EdgeDefinition | arangojs - v9.1.0

Type alias EdgeDefinition

EdgeDefinition: {
    collection: string;
    from: string[];
    to: string[];
}

Definition of a relation in a graph.Graph.

+

Type declaration

  • collection: string

    Name of the collection containing the edges.

    +
  • from: string[]

    Array of names of collections containing the start vertices.

    +
  • to: string[]

    Array of names of collections containing the end vertices.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.EdgeDefinitionOptions.html b/9.1.0/types/graph.EdgeDefinitionOptions.html new file mode 100644 index 00000000..5e15449e --- /dev/null +++ b/9.1.0/types/graph.EdgeDefinitionOptions.html @@ -0,0 +1,5 @@ +EdgeDefinitionOptions | arangojs - v9.1.0

Type alias EdgeDefinitionOptions

EdgeDefinitionOptions: {
    collection: string | ArangoCollection;
    from: (string | ArangoCollection)[] | string | ArangoCollection;
    to: (string | ArangoCollection)[] | string | ArangoCollection;
}

An edge definition used to define a collection of edges in a graph.Graph.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/graph.GraphCollectionInsertOptions.html b/9.1.0/types/graph.GraphCollectionInsertOptions.html new file mode 100644 index 00000000..ee344062 --- /dev/null +++ b/9.1.0/types/graph.GraphCollectionInsertOptions.html @@ -0,0 +1,7 @@ +GraphCollectionInsertOptions | arangojs - v9.1.0

Type alias GraphCollectionInsertOptions

GraphCollectionInsertOptions: {
    returnNew?: boolean;
    waitForSync?: boolean;
}

Options for inserting a document into a graph collection.

+

Type declaration

  • Optional returnNew?: boolean

    If set to true, the complete new document will be returned as the new +property on the result object.

    +

    Default: false

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.GraphCollectionReadOptions.html b/9.1.0/types/graph.GraphCollectionReadOptions.html new file mode 100644 index 00000000..77079ac6 --- /dev/null +++ b/9.1.0/types/graph.GraphCollectionReadOptions.html @@ -0,0 +1,12 @@ +GraphCollectionReadOptions | arangojs - v9.1.0

Type alias GraphCollectionReadOptions

GraphCollectionReadOptions: {
    allowDirtyRead?: boolean;
    graceful?: boolean;
    rev?: string;
}

Options for retrieving a document from a graph collection.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +

    Default: false

    +
  • Optional graceful?: boolean

    If set to true, null is returned instead of an exception being thrown +if the document does not exist.

    +

    Default: false

    +
  • Optional rev?: string

    If set to a document revision, the document will only be returned if its +_rev property matches this value.

    +

    See also documents.DocumentMetadata.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.GraphCollectionRemoveOptions.html b/9.1.0/types/graph.GraphCollectionRemoveOptions.html new file mode 100644 index 00000000..e1be2314 --- /dev/null +++ b/9.1.0/types/graph.GraphCollectionRemoveOptions.html @@ -0,0 +1,10 @@ +GraphCollectionRemoveOptions | arangojs - v9.1.0

Type alias GraphCollectionRemoveOptions

GraphCollectionRemoveOptions: {
    returnOld?: boolean;
    rev?: string;
    waitForSync?: boolean;
}

Options for removing a document from a graph collection.

+

Type declaration

  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object.

    +

    Default: false

    +
  • Optional rev?: string

    If set to a document revision, the document will only be removed if its +_rev property matches this value.

    +

    See also documents.DocumentMetadata.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.GraphCollectionReplaceOptions.html b/9.1.0/types/graph.GraphCollectionReplaceOptions.html new file mode 100644 index 00000000..a6366961 --- /dev/null +++ b/9.1.0/types/graph.GraphCollectionReplaceOptions.html @@ -0,0 +1,16 @@ +GraphCollectionReplaceOptions | arangojs - v9.1.0

Type alias GraphCollectionReplaceOptions

GraphCollectionReplaceOptions: {
    keepNull?: boolean;
    returnNew?: boolean;
    returnOld?: boolean;
    rev?: string;
    waitForSync?: boolean;
}

Options for replacing a document in a graph collection.

+

Type declaration

  • Optional keepNull?: boolean

    If set to false, properties with a value of null will be removed from +the new document.

    +

    Default: true

    +
  • Optional returnNew?: boolean

    If set to true, the complete new document will be returned as the new +property on the result object.

    +

    Default: false

    +
  • Optional returnOld?: boolean

    If set to true, the complete old document will be returned as the old +property on the result object.

    +

    Default: false

    +
  • Optional rev?: string

    If set to a document revision, the document will only be modified if its +_rev property matches this value.

    +

    See also documents.DocumentMetadata.

    +
  • Optional waitForSync?: boolean

    If set to true, data will be synchronized to disk before returning.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.GraphInfo.html b/9.1.0/types/graph.GraphInfo.html new file mode 100644 index 00000000..6c2fad38 --- /dev/null +++ b/9.1.0/types/graph.GraphInfo.html @@ -0,0 +1,19 @@ +GraphInfo | arangojs - v9.1.0

Type alias GraphInfo

GraphInfo: {
    edgeDefinitions: EdgeDefinition[];
    isDisjoint?: boolean;
    isSatellite?: boolean;
    isSmart?: boolean;
    name: string;
    numberOfShards?: number;
    orphanCollections: string[];
    replicationFactor?: number;
    smartGraphAttribute?: string;
    writeConcern?: number;
}

General information about a graph.

+

Type declaration

  • edgeDefinitions: EdgeDefinition[]

    Definitions for the relations of the graph.

    +
  • Optional isDisjoint?: boolean

    (Enterprise Edition cluster only.) If set to true, the graph has been +created as a Disjoint SmartGraph.

    +
  • Optional isSatellite?: boolean

    (Enterprise Edition cluster only.) If set to true, the graph is a +SatelliteGraph.

    +
  • Optional isSmart?: boolean

    (Enterprise Edition cluster only.) If set to true, the graph has been +created as a SmartGraph.

    +
  • name: string

    Name of the graph.

    +
  • Optional numberOfShards?: number

    (Cluster only.) Number of shards that is used for every collection +within this graph.

    +
  • orphanCollections: string[]

    Additional vertex collections. Documents within these collections do not +have edges within this graph.

    +
  • Optional replicationFactor?: number

    (Cluster only.) Replication factor used when initially creating +collections for this graph.

    +
  • Optional smartGraphAttribute?: string

    (Enterprise Edition cluster only.) Attribute containing the shard key +value to use for smart sharding.

    +
  • Optional writeConcern?: number

    (Cluster only.) Write concern for new collections in the graph.

    +
\ No newline at end of file diff --git a/9.1.0/types/graph.ReplaceEdgeDefinitionOptions.html b/9.1.0/types/graph.ReplaceEdgeDefinitionOptions.html new file mode 100644 index 00000000..7a143983 --- /dev/null +++ b/9.1.0/types/graph.ReplaceEdgeDefinitionOptions.html @@ -0,0 +1,3 @@ +ReplaceEdgeDefinitionOptions | arangojs - v9.1.0

Type alias ReplaceEdgeDefinitionOptions

ReplaceEdgeDefinitionOptions: {
    satellites?: string[];
}

Type declaration

  • Optional satellites?: string[]

    (Enterprise Edition cluster only.) Collections to be included in a Hybrid +SmartGraph.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsureGeoIndexOptions.html b/9.1.0/types/indexes.EnsureGeoIndexOptions.html new file mode 100644 index 00000000..9eb5e40d --- /dev/null +++ b/9.1.0/types/indexes.EnsureGeoIndexOptions.html @@ -0,0 +1,31 @@ +EnsureGeoIndexOptions | arangojs - v9.1.0

Type alias EnsureGeoIndexOptions

EnsureGeoIndexOptions: {
    fields: [string, string];
    geoJson?: false;
    inBackground?: boolean;
    legacyPolygons?: boolean;
    name?: string;
    type: "geo";
} | {
    fields: [string];
    geoJson?: boolean;
    inBackground?: boolean;
    legacyPolygons?: boolean;
    name?: string;
    type: "geo";
}

Options for creating a geo index.

+

Type declaration

  • fields: [string, string]

    Attribute paths for the document's latitude and longitude values.

    +
  • Optional geoJson?: false

    If set to true, fields must be an array containing a single attribute +path and the attribute value must be an array with two values, the first +of which will be interpreted as the longitude and the second of which will +be interpreted as the latitude of the document.

    +

    Default: false

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional legacyPolygons?: boolean

    If set to true, the index will use pre-3.10 rules for parsing +GeoJSON polygons. This option is always implicitly true when using +ArangoDB 3.9 or lower.

    +
  • Optional name?: string

    A unique name for this index.

    +
  • type: "geo"

Type declaration

  • fields: [string]

    An array containing the attribute path for an array containing two values, +the first of which will be interpreted as the latitude, the second as the +longitude. If geoJson is set to true, the order is reversed to match +the GeoJSON format.

    +
  • Optional geoJson?: boolean

    If set to true, fields must be an array containing a single attribute +path and the attribute value must be an array with two values, the first +of which will be interpreted as the longitude and the second of which will +be interpreted as the latitude of the document.

    +

    Default: false

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional legacyPolygons?: boolean

    If set to true, the index will use pre-3.10 rules for parsing +GeoJSON polygons. This option is always implicitly true when using +ArangoDB 3.9 or lower.

    +
  • Optional name?: string

    A unique name for this index.

    +
  • type: "geo"
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsureIndexOptions.html b/9.1.0/types/indexes.EnsureIndexOptions.html new file mode 100644 index 00000000..bf94604e --- /dev/null +++ b/9.1.0/types/indexes.EnsureIndexOptions.html @@ -0,0 +1,2 @@ +EnsureIndexOptions | arangojs - v9.1.0

Type alias EnsureIndexOptions

Options for creating an index.

+
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsureInvertedIndexOptions.html b/9.1.0/types/indexes.EnsureInvertedIndexOptions.html new file mode 100644 index 00000000..bef3fb95 --- /dev/null +++ b/9.1.0/types/indexes.EnsureInvertedIndexOptions.html @@ -0,0 +1,65 @@ +EnsureInvertedIndexOptions | arangojs - v9.1.0

Type alias EnsureInvertedIndexOptions

EnsureInvertedIndexOptions: {
    analyzer?: string;
    cache?: boolean;
    cleanupIntervalStep?: number;
    commitIntervalMsec?: number;
    consolidationIntervalMsec?: number;
    consolidationPolicy?: TierConsolidationPolicy;
    features?: AnalyzerFeature[];
    fields: (string | InvertedIndexFieldOptions)[];
    inBackground?: boolean;
    includeAllFields?: boolean;
    name?: string;
    optimizeTopK?: string[];
    parallelism?: number;
    primaryKeyCache?: boolean;
    primarySort?: {
        cache?: boolean;
        compression?: Compression;
        fields: InvertedIndexPrimarySortFieldOptions[];
    };
    searchField?: boolean;
    storedValues?: InvertedIndexStoredValueOptions[];
    trackListPositions?: boolean;
    type: "inverted";
    writeBufferActive?: number;
    writeBufferIdle?: number;
    writeBufferSizeMax?: number;
}

Options for creating an inverted index.

+

Type declaration

  • Optional analyzer?: string

    Name of the default Analyzer to apply to the values of indexed fields.

    +

    Default: "identity"

    +
  • Optional cache?: boolean

    (Enterprise Edition only.) If set to true, then field normalization +values will always be cached in memory.

    +

    Default: false

    +
  • Optional cleanupIntervalStep?: number

    Wait at least this many commits between removing unused files in the +ArangoSearch data directory.

    +

    Default: 2

    +
  • Optional commitIntervalMsec?: number

    Wait at least this many milliseconds between committing View data store +changes and making documents visible to queries.

    +

    Default: 1000

    +
  • Optional consolidationIntervalMsec?: number

    Wait at least this many milliseconds between applying +consolidationPolicy to consolidate View data store and possibly release +space on the filesystem.

    +

    Default: 1000

    +
  • Optional consolidationPolicy?: TierConsolidationPolicy

    The consolidation policy to apply for selecting which segments should be +merged.

    +

    Default: { type: "tier" }

    +
  • Optional features?: AnalyzerFeature[]

    List of Analyzer features to enable for the default Analyzer.

    +

    Defaults to the Analyzer's features.

    +
  • fields: (string | InvertedIndexFieldOptions)[]

    An array of attribute paths or objects specifying options for the fields.

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional includeAllFields?: boolean

    If set to true, all document attributes are indexed, excluding any +sub-attributes configured in the fields array. The analyzer and +features properties apply to the sub-attributes. This option only +applies when using the index in a SearchAlias View.

    +

    Default: false

    +
  • Optional name?: string

    A unique name for this index.

    +
  • Optional optimizeTopK?: string[]

    An array of strings defining sort expressions to optimize.

    +
  • Optional parallelism?: number

    The number of threads to use for indexing the fields.

    +

    Default: 2

    +
  • Optional primaryKeyCache?: boolean

    (Enterprise Edition only.) If set to true, then the primary key column +will always be cached in memory.

    +

    Default: false

    +
  • Optional primarySort?: {
        cache?: boolean;
        compression?: Compression;
        fields: InvertedIndexPrimarySortFieldOptions[];
    }

    Primary sort order to optimize AQL queries using a matching sort order.

    +
    • Optional cache?: boolean

      (Enterprise Edition only.) If set to true, then primary sort columns +will always be cached in memory.

      +

      Default: false

      +
    • Optional compression?: Compression

      How the primary sort data should be compressed.

      +

      Default: "lz4"

      +
    • fields: InvertedIndexPrimarySortFieldOptions[]

      An array of fields to sort the index by.

      +
  • Optional searchField?: boolean

    If set to true array values will by default be indexed using the same +behavior as ArangoSearch Views. This option only applies when using the +index in a SearchAlias View.

    +

    Default: false

    +
  • Optional storedValues?: InvertedIndexStoredValueOptions[]

    An array of attribute paths that will be stored in the index but can not +be used for index lookups or sorting but can avoid full document lookups.

    +
  • Optional trackListPositions?: boolean

    If set to true, the position of values in array values are tracked and +need to be specified in queries. Otherwise all values in an array are +treated as equivalent. This option only applies when using the index in a +SearchAlias View.

    +

    Default: false

    +
  • type: "inverted"

    Type of this index.

    +
  • Optional writeBufferActive?: number

    Maximum number of concurrent active writers (segments) that perform a +transaction.

    +

    Default: 0 (disabled)

    +
  • Optional writeBufferIdle?: number

    Maximum number of writers (segments) cached in the pool.

    +

    Default: 64

    +
  • Optional writeBufferSizeMax?: number

    Maximum memory byte size per writer (segment) before a writer (segment) +flush is triggered.

    +

    Default: 33554432 (32 MiB)

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsureMdiIndexOptions.html b/9.1.0/types/indexes.EnsureMdiIndexOptions.html new file mode 100644 index 00000000..fb2dcb79 --- /dev/null +++ b/9.1.0/types/indexes.EnsureMdiIndexOptions.html @@ -0,0 +1,11 @@ +EnsureMdiIndexOptions | arangojs - v9.1.0

Type alias EnsureMdiIndexOptions

EnsureMdiIndexOptions: {
    fieldValueTypes: "double";
    fields: string[];
    inBackground?: boolean;
    name?: string;
    type: "mdi";
    unique?: boolean;
}

Options for creating a MDI index.

+

Type declaration

  • fieldValueTypes: "double"

    Data type of the dimension attributes.

    +
  • fields: string[]

    An array containing attribute paths for the dimensions.

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional name?: string

    A unique name for this index.

    +
  • type: "mdi"

    Type of this index.

    +
  • Optional unique?: boolean

    If set to true, a unique index will be created.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsurePersistentIndexOptions.html b/9.1.0/types/indexes.EnsurePersistentIndexOptions.html new file mode 100644 index 00000000..c2cb5bb4 --- /dev/null +++ b/9.1.0/types/indexes.EnsurePersistentIndexOptions.html @@ -0,0 +1,25 @@ +EnsurePersistentIndexOptions | arangojs - v9.1.0

Type alias EnsurePersistentIndexOptions

EnsurePersistentIndexOptions: {
    cacheEnabled?: boolean;
    deduplicate?: boolean;
    estimates?: boolean;
    fields: string[];
    inBackground?: boolean;
    name?: string;
    sparse?: boolean;
    storedValues?: string[];
    type: "persistent";
    unique?: boolean;
}

Options for creating a persistent index.

+

Type declaration

  • Optional cacheEnabled?: boolean

    If set to true, an in-memory hash cache will be put in front of the +persistent index.

    +

    Default: false

    +
  • Optional deduplicate?: boolean

    If set to false, inserting duplicate index values from the same +document will lead to a unique constraint error if this is a unique index.

    +

    Default: true

    +
  • Optional estimates?: boolean

    If set to false, index selectivity estimates will be disabled for this +index.

    +

    Default: true

    +
  • fields: string[]

    An array of attribute paths.

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional name?: string

    A unique name for this index.

    +
  • Optional sparse?: boolean

    If set to true, the index will omit documents that do not contain at +least one of the attribute paths in fields and these documents will be +ignored for uniqueness checks.

    +

    Default: false

    +
  • Optional storedValues?: string[]

    An array of attribute paths that will be stored in the index but can not +be used for index lookups or sorting but can avoid full document lookups.

    +
  • type: "persistent"

    Type of this index.

    +
  • Optional unique?: boolean

    If set to true, a unique index will be created.

    +

    Default: false

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.EnsureTtlIndexOptions.html b/9.1.0/types/indexes.EnsureTtlIndexOptions.html new file mode 100644 index 00000000..7c04f086 --- /dev/null +++ b/9.1.0/types/indexes.EnsureTtlIndexOptions.html @@ -0,0 +1,10 @@ +EnsureTtlIndexOptions | arangojs - v9.1.0

Type alias EnsureTtlIndexOptions

EnsureTtlIndexOptions: {
    expireAfter: number;
    fields: [string];
    inBackground?: boolean;
    name?: string;
    type: "ttl";
}

Options for creating a TTL index.

+

Type declaration

  • expireAfter: number

    Duration in seconds after the attribute value at which the document will +be considered as expired.

    +
  • fields: [string]

    An array containing exactly one attribute path.

    +
  • Optional inBackground?: boolean

    If set to true, the index will be created in the background to reduce +the write-lock duration for the collection during index creation.

    +

    Default: false

    +
  • Optional name?: string

    A unique name for this index.

    +
  • type: "ttl"

    Type of this index.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.GenericIndex.html b/9.1.0/types/indexes.GenericIndex.html new file mode 100644 index 00000000..b0576de8 --- /dev/null +++ b/9.1.0/types/indexes.GenericIndex.html @@ -0,0 +1,8 @@ +GenericIndex | arangojs - v9.1.0

Type alias GenericIndex

GenericIndex: {
    figures?: Record<string, any>;
    id: string;
    name: string;
    sparse: boolean;
    unique: boolean;
}

Shared attributes of all index types.

+

Type declaration

  • Optional figures?: Record<string, any>

    Additional stats about this index.

    +
  • id: string

    A unique identifier for this index.

    +
  • name: string

    A unique name for this index.

    +
  • sparse: boolean

    Whether documents not containing at least one of the attribute paths +are omitted by this index.

    +
  • unique: boolean

    Whether this index enforces uniqueness for values of its attribute paths.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.GeoIndex.html b/9.1.0/types/indexes.GeoIndex.html new file mode 100644 index 00000000..0ed6787d --- /dev/null +++ b/9.1.0/types/indexes.GeoIndex.html @@ -0,0 +1,2 @@ +GeoIndex | arangojs - v9.1.0

Type alias GeoIndex

GeoIndex: GenericIndex & {
    bestIndexedLevel: number;
    fields: [string] | [string, string];
    geoJson: boolean;
    legacyPolygons: boolean;
    maxNumCoverCells: number;
    type: "geo";
    worstIndexedLevel: number;
}

An object representing a geo index.

+

Type declaration

  • bestIndexedLevel: number
  • fields: [string] | [string, string]
  • geoJson: boolean
  • legacyPolygons: boolean
  • maxNumCoverCells: number
  • type: "geo"
  • worstIndexedLevel: number
\ No newline at end of file diff --git a/9.1.0/types/indexes.HiddenIndex.html b/9.1.0/types/indexes.HiddenIndex.html new file mode 100644 index 00000000..4a0422ef --- /dev/null +++ b/9.1.0/types/indexes.HiddenIndex.html @@ -0,0 +1,8 @@ +HiddenIndex | arangojs - v9.1.0

Type alias HiddenIndex

HiddenIndex: (Index | InternalArangosearchIndex) & {
    progress?: number;
}

An object representing a potentially hidden index.

+

This type can be used to cast the result of collection.indexes to better +reflect the actual data returned by the server when using the withHidden +option:

+
const indexes = await collection.indexes<HiddenIndex>({
withHidden: true
}));
// indexes may include internal indexes and indexes with a "progress"
// property +
+

Type declaration

  • Optional progress?: number

    Progress of this index if it is still being created.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.Index.html b/9.1.0/types/indexes.Index.html new file mode 100644 index 00000000..90dff69a --- /dev/null +++ b/9.1.0/types/indexes.Index.html @@ -0,0 +1,2 @@ +Index | arangojs - v9.1.0

Type alias Index

An object representing an index.

+
\ No newline at end of file diff --git a/9.1.0/types/indexes.IndexDetails.html b/9.1.0/types/indexes.IndexDetails.html new file mode 100644 index 00000000..17f8b5eb --- /dev/null +++ b/9.1.0/types/indexes.IndexDetails.html @@ -0,0 +1 @@ +IndexDetails | arangojs - v9.1.0

Type alias IndexDetails

IndexDetails: Index & {
    figures?: Record<string, any>;
    progress?: number;
}

Type declaration

  • Optional figures?: Record<string, any>
  • Optional progress?: number
\ No newline at end of file diff --git a/9.1.0/types/indexes.IndexSelector.html b/9.1.0/types/indexes.IndexSelector.html new file mode 100644 index 00000000..ceca1abf --- /dev/null +++ b/9.1.0/types/indexes.IndexSelector.html @@ -0,0 +1,2 @@ +IndexSelector | arangojs - v9.1.0

Type alias IndexSelector

IndexSelector: ObjectWithId | ObjectWithName | string

Index name, id or object with a name or id property.

+
\ No newline at end of file diff --git a/9.1.0/types/indexes.InternalArangosearchIndex.html b/9.1.0/types/indexes.InternalArangosearchIndex.html new file mode 100644 index 00000000..d13404ab --- /dev/null +++ b/9.1.0/types/indexes.InternalArangosearchIndex.html @@ -0,0 +1,2 @@ +InternalArangosearchIndex | arangojs - v9.1.0

Type alias InternalArangosearchIndex

InternalArangosearchIndex: {
    analyzers: string[];
    fields: Record<string, Record<string, any>>;
    figures?: Record<string, any>;
    id: string;
    includeAllFields: boolean;
    storeValues: "none" | "id";
    trackListPositions: boolean;
    type: "arangosearch";
    view: string;
}

An object representing an arangosearch index.

+

Type declaration

  • analyzers: string[]
  • fields: Record<string, Record<string, any>>
  • Optional figures?: Record<string, any>
  • id: string
  • includeAllFields: boolean
  • storeValues: "none" | "id"
  • trackListPositions: boolean
  • type: "arangosearch"
  • view: string
\ No newline at end of file diff --git a/9.1.0/types/indexes.InternalIndex.html b/9.1.0/types/indexes.InternalIndex.html new file mode 100644 index 00000000..39568f21 --- /dev/null +++ b/9.1.0/types/indexes.InternalIndex.html @@ -0,0 +1,2 @@ +InternalIndex | arangojs - v9.1.0

Type alias InternalIndex

An object representing an internal index.

+
\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndex.html b/9.1.0/types/indexes.InvertedIndex.html new file mode 100644 index 00000000..64b70a60 --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndex.html @@ -0,0 +1,2 @@ +InvertedIndex | arangojs - v9.1.0

Type alias InvertedIndex

InvertedIndex: GenericIndex & {
    analyzer: string;
    cache?: boolean;
    cleanupIntervalStep: number;
    commitIntervalMsec: number;
    consolidationIntervalMsec: number;
    consolidationPolicy: Required<TierConsolidationPolicy>;
    features: AnalyzerFeature[];
    fields: {
        analyzer?: string;
        cache?: boolean;
        features?: AnalyzerFeature[];
        includeAllFields?: boolean;
        name: string;
        nested?: InvertedIndexNestedField[];
        searchField?: boolean;
        trackListPositions?: boolean;
    }[];
    includeAllFields: boolean;
    optimizeTopK: string[];
    parallelism: number;
    primaryKeyCache?: boolean;
    primarySort: {
        cache?: boolean;
        compression: Compression;
        fields: {
            direction: Direction;
            field: string;
        }[];
    };
    searchField: boolean;
    storedValues: {
        cache?: boolean;
        compression: Compression;
        fields: string[];
    }[];
    trackListPositions: boolean;
    type: "inverted";
    writeBufferActive: number;
    writeBufferIdle: number;
    writeBufferSizeMax: number;
}

An object representing an inverted index.

+

Type declaration

  • analyzer: string
  • Optional cache?: boolean
  • cleanupIntervalStep: number
  • commitIntervalMsec: number
  • consolidationIntervalMsec: number
  • consolidationPolicy: Required<TierConsolidationPolicy>
  • features: AnalyzerFeature[]
  • fields: {
        analyzer?: string;
        cache?: boolean;
        features?: AnalyzerFeature[];
        includeAllFields?: boolean;
        name: string;
        nested?: InvertedIndexNestedField[];
        searchField?: boolean;
        trackListPositions?: boolean;
    }[]
  • includeAllFields: boolean
  • optimizeTopK: string[]
  • parallelism: number
  • Optional primaryKeyCache?: boolean
  • primarySort: {
        cache?: boolean;
        compression: Compression;
        fields: {
            direction: Direction;
            field: string;
        }[];
    }
    • Optional cache?: boolean
    • compression: Compression
    • fields: {
          direction: Direction;
          field: string;
      }[]
  • searchField: boolean
  • storedValues: {
        cache?: boolean;
        compression: Compression;
        fields: string[];
    }[]
  • trackListPositions: boolean
  • type: "inverted"
  • writeBufferActive: number
  • writeBufferIdle: number
  • writeBufferSizeMax: number
\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndexFieldOptions.html b/9.1.0/types/indexes.InvertedIndexFieldOptions.html new file mode 100644 index 00000000..41574907 --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndexFieldOptions.html @@ -0,0 +1,27 @@ +InvertedIndexFieldOptions | arangojs - v9.1.0

Type alias InvertedIndexFieldOptions

InvertedIndexFieldOptions: {
    analyzer?: string;
    cache?: boolean;
    features?: AnalyzerFeature[];
    includeAllFields?: boolean;
    name: string;
    nested?: (string | InvertedIndexNestedFieldOptions)[];
    searchField?: boolean;
    trackListPositions?: boolean;
}

Options for an attribute path in an inverted index.

+

Type declaration

  • Optional analyzer?: string

    Name of the Analyzer to apply to the values of this field.

    +

    Defaults to the analyzer specified on the index itself.

    +
  • Optional cache?: boolean

    (Enterprise Edition only.) If set to true, then field normalization +values will always be cached in memory.

    +

    Defaults to the value of cache specified on the index itself.

    +
  • Optional features?: AnalyzerFeature[]

    List of Analyzer features to enable for this field's Analyzer.

    +

    Defaults to the features of the Analyzer.

    +
  • Optional includeAllFields?: boolean

    If set to true, all document attributes are indexed, excluding any +sub-attributes configured in the fields array. The analyzer and +features properties apply to the sub-attributes. This option only +applies when using the index in a SearchAlias View.

    +

    Defaults to the value of includeAllFields specified on the index itself.

    +
  • name: string

    An attribute path.

    +
  • Optional nested?: (string | InvertedIndexNestedFieldOptions)[]

    (Enterprise Edition only.) Sub-objects to index to allow querying for +co-occurring values.

    +
  • Optional searchField?: boolean

    If set to true array values will be indexed using the same behavior as +ArangoSearch Views. This option only applies when using the index in a +SearchAlias View.

    +

    Defaults to the value of searchField specified on the index itself.

    +
  • Optional trackListPositions?: boolean

    If set to true, the position of values in array values are tracked and +need to be specified in queries. Otherwise all values in an array are +treated as equivalent. This option only applies when using the index in a +SearchAlias View.

    +

    Defaults to the value of trackListPositions specified on the index +itself.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndexNestedField.html b/9.1.0/types/indexes.InvertedIndexNestedField.html new file mode 100644 index 00000000..07e38b48 --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndexNestedField.html @@ -0,0 +1,3 @@ +InvertedIndexNestedField | arangojs - v9.1.0

Type alias InvertedIndexNestedField

InvertedIndexNestedField: {
    analyzer?: string;
    features?: AnalyzerFeature[];
    name: string;
    nested?: InvertedIndexNestedField[];
    searchField?: boolean;
}

(Enterprise Edition only.) An object representing a nested field in an +inverted index.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndexNestedFieldOptions.html b/9.1.0/types/indexes.InvertedIndexNestedFieldOptions.html new file mode 100644 index 00000000..00691540 --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndexNestedFieldOptions.html @@ -0,0 +1,13 @@ +InvertedIndexNestedFieldOptions | arangojs - v9.1.0

Type alias InvertedIndexNestedFieldOptions

InvertedIndexNestedFieldOptions: {
    analyzer?: string;
    features?: AnalyzerFeature[];
    name: string;
    nested?: (string | InvertedIndexNestedFieldOptions)[];
    searchField?: boolean;
}

(Enterprise Edition only.) Options for a nested field in an inverted index.

+

Type declaration

  • Optional analyzer?: string

    Name of the Analyzer to apply to the values of this field.

    +

    Defaults to the analyzer specified on the parent options or on the index +itself.

    +
  • Optional features?: AnalyzerFeature[]

    List of Analyzer features to enable for this field's Analyzer.

    +

    Defaults to the features of the Analyzer.

    +
  • name: string

    An attribute path.

    +
  • Optional nested?: (string | InvertedIndexNestedFieldOptions)[]

    Sub-objects to index to allow querying for co-occurring values.

    +
  • Optional searchField?: boolean

    If set to true array values will be indexed using the same behavior as +ArangoSearch Views. This option only applies when using the index in a +SearchAlias View.

    +

    Defaults to the value of searchField specified on the index itself.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html b/9.1.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html new file mode 100644 index 00000000..01b96cfd --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html @@ -0,0 +1,4 @@ +InvertedIndexPrimarySortFieldOptions | arangojs - v9.1.0

Type alias InvertedIndexPrimarySortFieldOptions

InvertedIndexPrimarySortFieldOptions: {
    direction: Direction;
    field: string;
}

Options for defining a primary sort field on an inverted index.

+

Type declaration

  • direction: Direction

    The sorting direction.

    +
  • field: string

    The attribute path to sort by.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.InvertedIndexStoredValueOptions.html b/9.1.0/types/indexes.InvertedIndexStoredValueOptions.html new file mode 100644 index 00000000..c3ad81f5 --- /dev/null +++ b/9.1.0/types/indexes.InvertedIndexStoredValueOptions.html @@ -0,0 +1,8 @@ +InvertedIndexStoredValueOptions | arangojs - v9.1.0

Type alias InvertedIndexStoredValueOptions

InvertedIndexStoredValueOptions: {
    cache?: boolean;
    compression?: Compression;
    fields: string[];
}

Options for defining a stored value on an inverted index.

+

Type declaration

  • Optional cache?: boolean

    (Enterprise Edition only.) If set to true, then stored values will +always be cached in memory.

    +

    Default: false

    +
  • Optional compression?: Compression

    How the attribute values should be compressed.

    +

    Default: "lz4"

    +
  • fields: string[]

    The attribute paths to store.

    +
\ No newline at end of file diff --git a/9.1.0/types/indexes.MdiIndex.html b/9.1.0/types/indexes.MdiIndex.html new file mode 100644 index 00000000..a07cc938 --- /dev/null +++ b/9.1.0/types/indexes.MdiIndex.html @@ -0,0 +1,2 @@ +MdiIndex | arangojs - v9.1.0

Type alias MdiIndex

MdiIndex: GenericIndex & {
    fieldValueTypes: "double";
    fields: string[];
    type: "mdi";
}

An object representing a MDI index.

+

Type declaration

  • fieldValueTypes: "double"
  • fields: string[]
  • type: "mdi"
\ No newline at end of file diff --git a/9.1.0/types/indexes.ObjectWithId.html b/9.1.0/types/indexes.ObjectWithId.html new file mode 100644 index 00000000..c849b1da --- /dev/null +++ b/9.1.0/types/indexes.ObjectWithId.html @@ -0,0 +1 @@ +ObjectWithId | arangojs - v9.1.0

Type alias ObjectWithId

ObjectWithId: {
    id: string;
    [key: string]: any;
}

Type declaration

  • [key: string]: any
  • id: string
\ No newline at end of file diff --git a/9.1.0/types/indexes.ObjectWithName.html b/9.1.0/types/indexes.ObjectWithName.html new file mode 100644 index 00000000..cb2b72f0 --- /dev/null +++ b/9.1.0/types/indexes.ObjectWithName.html @@ -0,0 +1 @@ +ObjectWithName | arangojs - v9.1.0

Type alias ObjectWithName

ObjectWithName: {
    name: string;
    [key: string]: any;
}

Type declaration

  • [key: string]: any
  • name: string
\ No newline at end of file diff --git a/9.1.0/types/indexes.PersistentIndex.html b/9.1.0/types/indexes.PersistentIndex.html new file mode 100644 index 00000000..dbcd9fbd --- /dev/null +++ b/9.1.0/types/indexes.PersistentIndex.html @@ -0,0 +1,2 @@ +PersistentIndex | arangojs - v9.1.0

Type alias PersistentIndex

PersistentIndex: GenericIndex & {
    cacheEnabled: boolean;
    deduplicate: boolean;
    estimates: boolean;
    fields: string[];
    storedValues?: string[];
    type: "persistent";
}

An object representing a persistent index.

+

Type declaration

  • cacheEnabled: boolean
  • deduplicate: boolean
  • estimates: boolean
  • fields: string[]
  • Optional storedValues?: string[]
  • type: "persistent"
\ No newline at end of file diff --git a/9.1.0/types/indexes.PrimaryIndex.html b/9.1.0/types/indexes.PrimaryIndex.html new file mode 100644 index 00000000..1b077708 --- /dev/null +++ b/9.1.0/types/indexes.PrimaryIndex.html @@ -0,0 +1,2 @@ +PrimaryIndex | arangojs - v9.1.0

Type alias PrimaryIndex

PrimaryIndex: GenericIndex & {
    fields: string[];
    selectivityEstimate: number;
    type: "primary";
}

An object representing a primary index.

+

Type declaration

  • fields: string[]
  • selectivityEstimate: number
  • type: "primary"
\ No newline at end of file diff --git a/9.1.0/types/indexes.TtlIndex.html b/9.1.0/types/indexes.TtlIndex.html new file mode 100644 index 00000000..ac8baf70 --- /dev/null +++ b/9.1.0/types/indexes.TtlIndex.html @@ -0,0 +1,2 @@ +TtlIndex | arangojs - v9.1.0

Type alias TtlIndex

TtlIndex: GenericIndex & {
    expireAfter: number;
    fields: [string];
    selectivityEstimate: number;
    type: "ttl";
}

An object representing a TTL index.

+

Type declaration

  • expireAfter: number
  • fields: [string]
  • selectivityEstimate: number
  • type: "ttl"
\ No newline at end of file diff --git a/9.1.0/types/transaction.TransactionAbortOptions.html b/9.1.0/types/transaction.TransactionAbortOptions.html new file mode 100644 index 00000000..423ffeb7 --- /dev/null +++ b/9.1.0/types/transaction.TransactionAbortOptions.html @@ -0,0 +1,5 @@ +TransactionAbortOptions | arangojs - v9.1.0

Type alias TransactionAbortOptions

TransactionAbortOptions: {
    allowDirtyRead?: boolean;
}

Options for how the transaction should be aborted.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
\ No newline at end of file diff --git a/9.1.0/types/transaction.TransactionCommitOptions.html b/9.1.0/types/transaction.TransactionCommitOptions.html new file mode 100644 index 00000000..a3105e4b --- /dev/null +++ b/9.1.0/types/transaction.TransactionCommitOptions.html @@ -0,0 +1,5 @@ +TransactionCommitOptions | arangojs - v9.1.0

Type alias TransactionCommitOptions

TransactionCommitOptions: {
    allowDirtyRead?: boolean;
}

Options for how the transaction should be committed.

+

Type declaration

  • Optional allowDirtyRead?: boolean

    If set to true, the request will explicitly permit ArangoDB to return a +potentially dirty or stale result and arangojs will load balance the +request without distinguishing between leaders and followers.

    +
\ No newline at end of file diff --git a/9.1.0/types/transaction.TransactionStatus.html b/9.1.0/types/transaction.TransactionStatus.html new file mode 100644 index 00000000..7af0fc14 --- /dev/null +++ b/9.1.0/types/transaction.TransactionStatus.html @@ -0,0 +1,5 @@ +TransactionStatus | arangojs - v9.1.0

Type alias TransactionStatus

TransactionStatus: {
    id: string;
    status: "running" | "committed" | "aborted";
}

Status of a given transaction.

+

See also database.TransactionDetails.

+

Type declaration

  • id: string

    Unique identifier of the transaction.

    +
  • status: "running" | "committed" | "aborted"

    Status of the transaction.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewDescription.html b/9.1.0/types/view.ArangoSearchViewDescription.html new file mode 100644 index 00000000..8c2bd105 --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewDescription.html @@ -0,0 +1 @@ +ArangoSearchViewDescription | arangojs - v9.1.0

Type alias ArangoSearchViewDescription

ArangoSearchViewDescription: GenericViewDescription & {
    type: "arangosearch";
}

Type declaration

  • type: "arangosearch"
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewLink.html b/9.1.0/types/view.ArangoSearchViewLink.html new file mode 100644 index 00000000..5ff2372c --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewLink.html @@ -0,0 +1,2 @@ +ArangoSearchViewLink | arangojs - v9.1.0

Type alias ArangoSearchViewLink

ArangoSearchViewLink: {
    analyzers: string[];
    cache: boolean;
    fields: Record<string, ArangoSearchViewLink>;
    includeAllFields: boolean;
    nested?: Record<string, ArangoSearchViewLink>;
    storeValues: "none" | "id";
    trackListPositions: boolean;
}

A link definition for an ArangoSearch View.

+

Type declaration

  • analyzers: string[]
  • cache: boolean
  • fields: Record<string, ArangoSearchViewLink>
  • includeAllFields: boolean
  • Optional nested?: Record<string, ArangoSearchViewLink>
  • storeValues: "none" | "id"
  • trackListPositions: boolean
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewLinkOptions.html b/9.1.0/types/view.ArangoSearchViewLinkOptions.html new file mode 100644 index 00000000..cce6707e --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewLinkOptions.html @@ -0,0 +1,23 @@ +ArangoSearchViewLinkOptions | arangojs - v9.1.0

Type alias ArangoSearchViewLinkOptions

ArangoSearchViewLinkOptions: {
    analyzers?: string[];
    cache?: boolean;
    fields?: Record<string, ArangoSearchViewLinkOptions>;
    inBackground?: boolean;
    includeAllFields?: boolean;
    nested?: Record<string, ArangoSearchViewLinkOptions>;
    storeValues?: "none" | "id";
    trackListPositions?: boolean;
}

A link definition for an ArangoSearch View.

+

Type declaration

  • Optional analyzers?: string[]

    A list of names of Analyzers to apply to values of processed document +attributes.

    +

    Default: ["identity"]

    +
  • Optional cache?: boolean

    (Enterprise Edition only.) If set to true, then field normalization +values will always be cached in memory.

    +

    Default: false

    +
  • Optional fields?: Record<string, ArangoSearchViewLinkOptions>

    An object mapping names of attributes to process for each document to +ArangoSearchViewLinkOptions definitions.

    +
  • Optional inBackground?: boolean

    If set to true, then no exclusive lock is used on the source collection +during View index creation, so that it remains basically available.

    +

    Default: false

    +
  • Optional includeAllFields?: boolean

    If set to true, all document attributes will be processed, otherwise +only the attributes in fields will be processed.

    +

    Default: false

    +
  • Optional nested?: Record<string, ArangoSearchViewLinkOptions>

    (Enterprise Edition only.) An object mapping attribute names to +ArangoSearchViewLinkOptions definitions to index sub-objects +stored in an array.

    +
  • Optional storeValues?: "none" | "id"

    Controls how the view should keep track of the attribute values.

    +

    Default: "none"

    +
  • Optional trackListPositions?: boolean

    If set to true, the position of values in array values will be tracked, +otherwise all values in an array will be treated as equal alternatives.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewPatchPropertiesOptions.html b/9.1.0/types/view.ArangoSearchViewPatchPropertiesOptions.html new file mode 100644 index 00000000..f36b7cc3 --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewPatchPropertiesOptions.html @@ -0,0 +1,2 @@ +ArangoSearchViewPatchPropertiesOptions | arangojs - v9.1.0

Type alias ArangoSearchViewPatchPropertiesOptions

ArangoSearchViewPatchPropertiesOptions: ArangoSearchViewPropertiesOptions

Options for partially modifying the properties of an ArangoSearch View.

+
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewProperties.html b/9.1.0/types/view.ArangoSearchViewProperties.html new file mode 100644 index 00000000..7ea4f048 --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewProperties.html @@ -0,0 +1,2 @@ +ArangoSearchViewProperties | arangojs - v9.1.0

Type alias ArangoSearchViewProperties

ArangoSearchViewProperties: ArangoSearchViewDescription & {
    cleanupIntervalStep: number;
    commitIntervalMsec: number;
    consolidationIntervalMsec: number;
    consolidationPolicy: TierConsolidationPolicy | BytesAccumConsolidationPolicy;
    links: Record<string, Omit<ArangoSearchViewLink, "nested">>;
    optimizeTopK: string[];
    primaryKeyCache: boolean;
    primarySort: {
        direction: Direction;
        field: string;
    }[];
    primarySortCache: boolean;
    primarySortCompression: Compression;
    storedValues: {
        cache: boolean;
        compression: Compression;
        fields: string[];
    }[];
    writebufferActive: number;
    writebufferIdle: number;
    writebufferSizeMax: number;
}

Properties of an ArangoSearch View.

+

Type declaration

  • cleanupIntervalStep: number
  • commitIntervalMsec: number
  • consolidationIntervalMsec: number
  • consolidationPolicy: TierConsolidationPolicy | BytesAccumConsolidationPolicy
  • links: Record<string, Omit<ArangoSearchViewLink, "nested">>
  • optimizeTopK: string[]
  • primaryKeyCache: boolean
  • primarySort: {
        direction: Direction;
        field: string;
    }[]
  • primarySortCache: boolean
  • primarySortCompression: Compression
  • storedValues: {
        cache: boolean;
        compression: Compression;
        fields: string[];
    }[]
  • writebufferActive: number
  • writebufferIdle: number
  • writebufferSizeMax: number
\ No newline at end of file diff --git a/9.1.0/types/view.ArangoSearchViewPropertiesOptions.html b/9.1.0/types/view.ArangoSearchViewPropertiesOptions.html new file mode 100644 index 00000000..bd783ff6 --- /dev/null +++ b/9.1.0/types/view.ArangoSearchViewPropertiesOptions.html @@ -0,0 +1,14 @@ +ArangoSearchViewPropertiesOptions | arangojs - v9.1.0

Type alias ArangoSearchViewPropertiesOptions

ArangoSearchViewPropertiesOptions: {
    cleanupIntervalStep?: number;
    commitIntervalMsec?: number;
    consolidationIntervalMsec?: number;
    consolidationPolicy?: TierConsolidationPolicy;
    links?: Record<string, Omit<ArangoSearchViewLinkOptions, "nested">>;
}

Options for modifying the properties of an ArangoSearch View.

+

Type declaration

  • Optional cleanupIntervalStep?: number

    How many commits to wait between removing unused files.

    +

    Default: 2

    +
  • Optional commitIntervalMsec?: number

    How long to wait between commiting View data store changes and making +documents visible to queries.

    +

    Default: 1000

    +
  • Optional consolidationIntervalMsec?: number

    How long to wait between applying the consolidationPolicy.

    +

    Default: 10000

    +
  • Optional consolidationPolicy?: TierConsolidationPolicy

    Consolidation policy to apply for selecting which segments should be +merged.

    +

    Default: { type: "tier" }

    +
  • Optional links?: Record<string, Omit<ArangoSearchViewLinkOptions, "nested">>

    An object mapping names of linked collections to +ArangoSearchViewLinkOptions definitions.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.BytesAccumConsolidationPolicy.html b/9.1.0/types/view.BytesAccumConsolidationPolicy.html new file mode 100644 index 00000000..c7f6ee10 --- /dev/null +++ b/9.1.0/types/view.BytesAccumConsolidationPolicy.html @@ -0,0 +1,7 @@ +BytesAccumConsolidationPolicy | arangojs - v9.1.0

Type alias BytesAccumConsolidationPolicy

BytesAccumConsolidationPolicy: {
    threshold?: number;
    type: "bytes_accum";
}

Policy to consolidate based on segment byte size and live document count as +dictated by the customization attributes.

+

Type declaration

  • Optional threshold?: number

    Must be in the range of 0.0 to 1.0.

    +
  • type: "bytes_accum"

    Type of consolidation policy.

    +

Deprecated

The bytes_accum consolidation policy was deprecated in +ArangoDB 3.7 and should be replaced with the tier consolidation policy.

+
\ No newline at end of file diff --git a/9.1.0/types/view.Compression.html b/9.1.0/types/view.Compression.html new file mode 100644 index 00000000..1fa3673e --- /dev/null +++ b/9.1.0/types/view.Compression.html @@ -0,0 +1,2 @@ +Compression | arangojs - v9.1.0

Type alias Compression

Compression: "lz4" | "none"

Compression for storing data.

+
\ No newline at end of file diff --git a/9.1.0/types/view.CreateArangoSearchViewOptions.html b/9.1.0/types/view.CreateArangoSearchViewOptions.html new file mode 100644 index 00000000..43d64518 --- /dev/null +++ b/9.1.0/types/view.CreateArangoSearchViewOptions.html @@ -0,0 +1,26 @@ +CreateArangoSearchViewOptions | arangojs - v9.1.0

Type alias CreateArangoSearchViewOptions

CreateArangoSearchViewOptions: ArangoSearchViewPropertiesOptions & {
    optimizeTopK?: string[];
    primaryKeyCache?: boolean;
    primarySort?: ({
        direction: Direction;
        field: string;
    } | {
        asc: boolean;
        field: string;
    })[];
    primarySortCache?: boolean;
    primarySortCompression?: Compression;
    storedValues?: ArangoSearchViewStoredValueOptions[] | string[] | string[][];
    type: "arangosearch";
    writebufferActive?: number;
    writebufferIdle?: number;
    writebufferSizeMax?: number;
}

Options for creating an ArangoSearch View.

+

Type declaration

  • Optional optimizeTopK?: string[]

    An array of strings defining sort expressions to optimize.

    +
  • Optional primaryKeyCache?: boolean

    (Enterprise Edition only.) If set to true, then primary key columns +will always be cached in memory.

    +

    Default: false

    +
  • Optional primarySort?: ({
        direction: Direction;
        field: string;
    } | {
        asc: boolean;
        field: string;
    })[]

    Attribute path (field) for the value of each document that will be +used for sorting.

    +

    If direction is set to "asc" or asc is set to true, +the primary sorting order will be ascending.

    +

    If direction is set to "desc" or asc is set to false, +the primary sorting order will be descending.

    +
  • Optional primarySortCache?: boolean

    (Enterprise Edition only.) If set to true, then primary sort columns +will always be cached in memory.

    +

    Default: false

    +
  • Optional primarySortCompression?: Compression

    Compression to use for the primary sort data.

    +

    Default: "lz4"

    +
  • Optional storedValues?: ArangoSearchViewStoredValueOptions[] | string[] | string[][]

    Attribute paths for which values should be stored in the view index +in addition to those used for sorting via primarySort.

    +
  • type: "arangosearch"

    Type of the View.

    +
  • Optional writebufferActive?: number

    Maximum number of concurrent active writers that perform a transaction.

    +

    Default: 0

    +
  • Optional writebufferIdle?: number

    Maximum number of writers cached in the pool.

    +

    Default: 64

    +
  • Optional writebufferSizeMax?: number

    Maximum memory byte size per writer before a writer flush is triggered.

    +

    Default: 33554432 (32 MiB)

    +
\ No newline at end of file diff --git a/9.1.0/types/view.CreateSearchAliasViewOptions.html b/9.1.0/types/view.CreateSearchAliasViewOptions.html new file mode 100644 index 00000000..9bb87ec8 --- /dev/null +++ b/9.1.0/types/view.CreateSearchAliasViewOptions.html @@ -0,0 +1,3 @@ +CreateSearchAliasViewOptions | arangojs - v9.1.0

Type alias CreateSearchAliasViewOptions

CreateSearchAliasViewOptions: SearchAliasViewPropertiesOptions & {
    type: "search-alias";
}

Options for creating a SearchAlias View.

+

Type declaration

  • type: "search-alias"

    Type of the View.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.CreateViewOptions.html b/9.1.0/types/view.CreateViewOptions.html new file mode 100644 index 00000000..ebd98fd8 --- /dev/null +++ b/9.1.0/types/view.CreateViewOptions.html @@ -0,0 +1,2 @@ +CreateViewOptions | arangojs - v9.1.0

Type alias CreateViewOptions

Options for creating a View.

+
\ No newline at end of file diff --git a/9.1.0/types/view.Direction.html b/9.1.0/types/view.Direction.html new file mode 100644 index 00000000..0e95cac9 --- /dev/null +++ b/9.1.0/types/view.Direction.html @@ -0,0 +1,2 @@ +Direction | arangojs - v9.1.0

Type alias Direction

Direction: "desc" | "asc"

Sorting direction. Descending or ascending.

+
\ No newline at end of file diff --git a/9.1.0/types/view.GenericViewDescription.html b/9.1.0/types/view.GenericViewDescription.html new file mode 100644 index 00000000..06ef1d2a --- /dev/null +++ b/9.1.0/types/view.GenericViewDescription.html @@ -0,0 +1,5 @@ +GenericViewDescription | arangojs - v9.1.0

Type alias GenericViewDescription

GenericViewDescription: {
    globallyUniqueId: string;
    id: string;
    name: string;
}

Generic description of a View.

+

Type declaration

  • globallyUniqueId: string

    A globally unique identifier for this View.

    +
  • id: string

    An identifier for this View.

    +
  • name: string

    Name of the View.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewDescription.html b/9.1.0/types/view.SearchAliasViewDescription.html new file mode 100644 index 00000000..897ff3ea --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewDescription.html @@ -0,0 +1 @@ +SearchAliasViewDescription | arangojs - v9.1.0

Type alias SearchAliasViewDescription

SearchAliasViewDescription: GenericViewDescription & {
    type: "search-alias";
}

Type declaration

  • type: "search-alias"
\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewIndexOptions.html b/9.1.0/types/view.SearchAliasViewIndexOptions.html new file mode 100644 index 00000000..22586e4f --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewIndexOptions.html @@ -0,0 +1,4 @@ +SearchAliasViewIndexOptions | arangojs - v9.1.0

Type alias SearchAliasViewIndexOptions

SearchAliasViewIndexOptions: {
    collection: string;
    index: string;
}

Options defining an index used in a SearchAlias View.

+

Type declaration

  • collection: string

    Name of a collection.

    +
  • index: string

    Name of an inverted index in the collection.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewPatchIndexOptions.html b/9.1.0/types/view.SearchAliasViewPatchIndexOptions.html new file mode 100644 index 00000000..a962e052 --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewPatchIndexOptions.html @@ -0,0 +1,4 @@ +SearchAliasViewPatchIndexOptions | arangojs - v9.1.0

Type alias SearchAliasViewPatchIndexOptions

SearchAliasViewPatchIndexOptions: SearchAliasViewIndexOptions & {
    operation?: "add" | "del";
}

Options defining an index to be modified in a SearchAlias View.

+

Type declaration

  • Optional operation?: "add" | "del"

    Whether to add or remove the index.

    +

    Default: "add"

    +
\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewPatchPropertiesOptions.html b/9.1.0/types/view.SearchAliasViewPatchPropertiesOptions.html new file mode 100644 index 00000000..67b491c9 --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewPatchPropertiesOptions.html @@ -0,0 +1,3 @@ +SearchAliasViewPatchPropertiesOptions | arangojs - v9.1.0

Type alias SearchAliasViewPatchPropertiesOptions

SearchAliasViewPatchPropertiesOptions: {
    indexes: SearchAliasViewPatchIndexOptions[];
}

Options for partially modifying the properties of a SearchAlias View.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewProperties.html b/9.1.0/types/view.SearchAliasViewProperties.html new file mode 100644 index 00000000..6a45921a --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewProperties.html @@ -0,0 +1,2 @@ +SearchAliasViewProperties | arangojs - v9.1.0

Type alias SearchAliasViewProperties

SearchAliasViewProperties: SearchAliasViewDescription & {
    indexes: {
        collection: string;
        index: string;
    }[];
}

Properties of a SearchAlias View.

+

Type declaration

  • indexes: {
        collection: string;
        index: string;
    }[]
\ No newline at end of file diff --git a/9.1.0/types/view.SearchAliasViewPropertiesOptions.html b/9.1.0/types/view.SearchAliasViewPropertiesOptions.html new file mode 100644 index 00000000..ccdf0496 --- /dev/null +++ b/9.1.0/types/view.SearchAliasViewPropertiesOptions.html @@ -0,0 +1,3 @@ +SearchAliasViewPropertiesOptions | arangojs - v9.1.0

Type alias SearchAliasViewPropertiesOptions

SearchAliasViewPropertiesOptions: {
    indexes: SearchAliasViewIndexOptions[];
}

Options for modifying the properties of a SearchAlias View.

+

Type declaration

\ No newline at end of file diff --git a/9.1.0/types/view.TierConsolidationPolicy.html b/9.1.0/types/view.TierConsolidationPolicy.html new file mode 100644 index 00000000..b8833a88 --- /dev/null +++ b/9.1.0/types/view.TierConsolidationPolicy.html @@ -0,0 +1,17 @@ +TierConsolidationPolicy | arangojs - v9.1.0

Type alias TierConsolidationPolicy

TierConsolidationPolicy: {
    minScore?: number;
    segmentsBytesFloor?: number;
    segmentsBytesMax?: number;
    segmentsMax?: number;
    segmentsMin?: number;
    type: "tier";
}

Policy to consolidate if the sum of all candidate segment byte size is less +than the total segment byte size multiplied by a given threshold.

+

Type declaration

  • Optional minScore?: number

    Consolidation candidates with a score less than this value will be +filtered out.

    +

    Default: 0

    +
  • Optional segmentsBytesFloor?: number

    Size below which all segments are treated as equivalent.

    +

    Default: 2097152 (2 MiB)

    +
  • Optional segmentsBytesMax?: number

    Maximum allowed size of all consolidation segments.

    +

    Default: 5368709120 (5 GiB)

    +
  • Optional segmentsMax?: number

    Maximum number of segments that are evaluated as candidates for +consolidation.

    +

    Default: 10

    +
  • Optional segmentsMin?: number

    Minimum number of segments that are evaluated as candidates for +consolidation.

    +

    Default: 1

    +
  • type: "tier"

    Type of consolidation policy.

    +
\ No newline at end of file diff --git a/9.1.0/types/view.ViewDescription.html b/9.1.0/types/view.ViewDescription.html new file mode 100644 index 00000000..116e2765 --- /dev/null +++ b/9.1.0/types/view.ViewDescription.html @@ -0,0 +1 @@ +ViewDescription | arangojs - v9.1.0

Type alias ViewDescription

\ No newline at end of file diff --git a/9.1.0/types/view.ViewPatchPropertiesOptions.html b/9.1.0/types/view.ViewPatchPropertiesOptions.html new file mode 100644 index 00000000..c6560dc2 --- /dev/null +++ b/9.1.0/types/view.ViewPatchPropertiesOptions.html @@ -0,0 +1,2 @@ +ViewPatchPropertiesOptions | arangojs - v9.1.0

Type alias ViewPatchPropertiesOptions

Options for partially modifying a View's properties.

+
\ No newline at end of file diff --git a/9.1.0/types/view.ViewProperties.html b/9.1.0/types/view.ViewProperties.html new file mode 100644 index 00000000..435ac1a3 --- /dev/null +++ b/9.1.0/types/view.ViewProperties.html @@ -0,0 +1 @@ +ViewProperties | arangojs - v9.1.0

Type alias ViewProperties

\ No newline at end of file diff --git a/9.1.0/types/view.ViewPropertiesOptions.html b/9.1.0/types/view.ViewPropertiesOptions.html new file mode 100644 index 00000000..e8473e9f --- /dev/null +++ b/9.1.0/types/view.ViewPropertiesOptions.html @@ -0,0 +1,2 @@ +ViewPropertiesOptions | arangojs - v9.1.0

Type alias ViewPropertiesOptions

Options for replacing a View's properties.

+
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 605aea68..138f2473 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,21 @@ This driver uses semantic versioning: - A change in the major version (e.g. 1.Y.Z -> 2.0.0) indicates _breaking_ changes that require changes in your code to upgrade. +## [9.1.0] - 2024-09-25 + +### Changed + +- Removed `progress` property from `Index` type + + This property is only available when fetching indexes with the `withHidden` + option set to `true`. + +- Added `HiddenIndex` type (DE-849) + + This type is used to represent an index returned by `collection.indexes` when + the `withHidden` option is set to `true` and includes the `progress` property + in addition to internal indexes. + ## [9.0.0] - 2024-07-31 This is a major release and breaks backwards compatibility. @@ -1909,6 +1924,7 @@ For a detailed list of changes between pre-release versions of v7 see the Graph methods now only return the relevant part of the response body. +[9.1.0]: https://github.com/arangodb/arangojs/compare/v9.0.0...v9.1.0 [9.0.0]: https://github.com/arangodb/arangojs/compare/v8.8.1...v9.0.0 [8.8.1]: https://github.com/arangodb/arangojs/compare/v8.8.0...v8.8.1 [8.8.0]: https://github.com/arangodb/arangojs/compare/v8.7.0...v8.8.0 diff --git a/VERSION b/VERSION index f7ee0669..0b5e02df 100644 --- a/VERSION +++ b/VERSION @@ -1 +1,2 @@ 9.0.0 +9.1.0 diff --git a/_data/versions.json b/_data/versions.json index e7470500..b10c1026 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1 +1 @@ -{"all":["9.0.0","9.0.0-preview.4","9.0.0-preview.3","9.0.0-preview.2","9.0.0-preview.1","8.8.1","8.8.0","8.7.0","8.6.0","8.5.0","8.4.1","8.4.0","8.3.1","8.3.0","8.2.1","8.2.0","8.1.0","8.0.0","8.0.0-rc.1","7.8.0","7.7.0","7.6.1","7.6.0","7.5.0","7.5.0-preview-arangodb.3.8","7.4.0","7.3.0","7.2.0","7.1.1","7.1.0","7.0.2","7.0.1","7.0.0","7.0.0-rc.2","7.0.0-rc.1","7.0.0-rc.0","7.0.0-preview.1","7.0.0-preview.0","6.14.1"],"stable":["9.0.0","8.8.1","8.8.0","8.7.0","8.6.0","8.5.0","8.4.1","8.4.0","8.3.1","8.3.0","8.2.1","8.2.0","8.1.0","8.0.0","7.8.0","7.7.0","7.6.1","7.6.0","7.5.0","7.4.0","7.3.0","7.2.0","7.1.1","7.1.0","7.0.2","7.0.1","7.0.0","6.14.1"]} +{"all":["9.1.0","9.0.0","9.0.0-preview.4","9.0.0-preview.3","9.0.0-preview.2","9.0.0-preview.1","8.8.1","8.8.0","8.7.0","8.6.0","8.5.0","8.4.1","8.4.0","8.3.1","8.3.0","8.2.1","8.2.0","8.1.0","8.0.0","8.0.0-rc.1","7.8.0","7.7.0","7.6.1","7.6.0","7.5.0","7.5.0-preview-arangodb.3.8","7.4.0","7.3.0","7.2.0","7.1.1","7.1.0","7.0.2","7.0.1","7.0.0","7.0.0-rc.2","7.0.0-rc.1","7.0.0-rc.0","7.0.0-preview.1","7.0.0-preview.0","6.14.1"],"stable":["9.1.0","9.0.0","8.8.1","8.8.0","8.7.0","8.6.0","8.5.0","8.4.1","8.4.0","8.3.1","8.3.0","8.2.1","8.2.0","8.1.0","8.0.0","7.8.0","7.7.0","7.6.1","7.6.0","7.5.0","7.4.0","7.3.0","7.2.0","7.1.1","7.1.0","7.0.2","7.0.1","7.0.0","6.14.1"]} diff --git a/latest b/latest index c9277c5a..e977f5ea 120000 --- a/latest +++ b/latest @@ -1 +1 @@ -9.0.0 \ No newline at end of file +9.1.0 \ No newline at end of file