diff --git a/10.0.0-alpha.0/.nojekyll b/10.0.0-alpha.0/.nojekyll new file mode 100644 index 000000000..e2ac6616a --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/highlight.css b/10.0.0-alpha.0/assets/highlight.css new file mode 100644 index 000000000..54adc3f22 --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/icons.js b/10.0.0-alpha.0/assets/icons.js new file mode 100644 index 000000000..b79c9e89f --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/icons.svg b/10.0.0-alpha.0/assets/icons.svg new file mode 100644 index 000000000..7dead6118 --- /dev/null +++ b/10.0.0-alpha.0/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10.0.0-alpha.0/assets/main.js b/10.0.0-alpha.0/assets/main.js new file mode 100644 index 000000000..d6f138860 --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/navigation.js b/10.0.0-alpha.0/assets/navigation.js new file mode 100644 index 000000000..b916f634d --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/search.js b/10.0.0-alpha.0/assets/search.js new file mode 100644 index 000000000..405d26499 --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/assets/style.css b/10.0.0-alpha.0/assets/style.css new file mode 100644 index 000000000..778b94927 --- /dev/null +++ b/10.0.0-alpha.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/10.0.0-alpha.0/classes/analyzers.Analyzer.html b/10.0.0-alpha.0/classes/analyzers.Analyzer.html new file mode 100644 index 000000000..71ff74383 --- /dev/null +++ b/10.0.0-alpha.0/classes/analyzers.Analyzer.html @@ -0,0 +1,27 @@ +Analyzer | arangojs - v10.0.0-alpha.0

Represents an Analyzer in a databases.Database.

+

Accessors

Methods

Accessors

  • get database(): Database
  • Database this analyzer belongs to.

    +

    Returns Database

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

    +

    See also databases.Database.

    +

    Returns string

Methods

  • Creates a new Analyzer with the given options and the instance's name.

    +

    See also databases.Database#createAnalyzer.

    +

    Type Parameters

    Parameters

    • options: Options

      Options for creating the Analyzer.

      +

    Returns Promise<Options extends {
            features?: AnalyzerFeature[];
            properties?: Record<string, never>;
            type: "identity";
        }
        ? IdentityAnalyzerDescription
        : Options extends CreateDelimiterAnalyzerOptions
            ? DelimiterAnalyzerDescription
            : Options extends {
                    features?: AnalyzerFeature[];
                    properties: {
                        locale: string;
                    };
                    type: "stem";
                }
                ? StemAnalyzerDescription
                : Options extends {
                        features?: AnalyzerFeature[];
                        properties: {
                            accent?: boolean;
                            case?: CaseConversion;
                            locale: string;
                        };
                        type: "norm";
                    }
                    ? NormAnalyzerDescription
                    : Options extends {
                            features?: AnalyzerFeature[];
                            properties: {
                                max: number;
                                min: number;
                                preserveOriginal: boolean;
                            };
                            type: "ngram";
                        }
                        ? NgramAnalyzerDescription
                        : Options extends {
                                features?: AnalyzerFeature[];
                                properties: {
                                    accent?: boolean;
                                    case?: CaseConversion;
                                    edgeNgram?: {
                                        max?: ...;
                                        min?: ...;
                                        preserveOriginal?: ...;
                                    };
                                    locale: string;
                                    stemming?: boolean;
                                    stopwords?: (...)[];
                                    stopwordsPath?: string;
                                };
                                type: "text";
                            }
                            ? TextAnalyzerDescription
                            : Options extends {
                                    features?: (...)[];
                                    properties: {
                                        break?: (...) | (...);
                                        case?: (...) | (...);
                                    };
                                    type: "segmentation";
                                }
                                ? SegmentationAnalyzerDescription
                                : Options extends {
                                        features?: (...) | (...);
                                        properties: {
                                            batchSize?: ...;
                                            collapsePositions?: ...;
                                            keepNull?: ...;
                                            memoryLimit?: ...;
                                            queryString: ...;
                                            returnType?: ...;
                                        };
                                        type: "aql";
                                    }
                                    ? AqlAnalyzerDescription
                                    : Options extends {
                                            features?: ...;
                                            properties: ...;
                                            type: ...;
                                        }
                                        ? PipelineAnalyzerDescription
                                        : (...) extends (...)
                                            ? (...)
                                            : (...)>

    Example

    const db = new Database();
    const analyzer = db.analyzer("potatoes");
    await analyzer.create({ type: "identity" });
    // the identity Analyzer "potatoes" now exists +
    +
  • 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/10.0.0-alpha.0/classes/cursors.BatchCursor.html b/10.0.0-alpha.0/classes/cursors.BatchCursor.html new file mode 100644 index 000000000..3c2aae31b --- /dev/null +++ b/10.0.0-alpha.0/classes/cursors.BatchCursor.html @@ -0,0 +1,147 @@ +BatchCursor | arangojs - v10.0.0-alpha.0

Class BatchCursor<ItemType>

The BatchCursor provides a batch-wise API to an Cursor.

+

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 Cursor<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

  • ItemType = 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 database(): Database
  • Database this cursor belongs to.

    +

    Returns Database

  • 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

  • get id(): undefined | string
  • ID of this cursor.

    +

    Returns undefined | string

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<ItemType[], 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<ItemType[][]>

    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: ItemType[]
          • 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: ItemType[]
          • 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 +BatchCursor#forEach, BatchCursor#reduce or +BatchCursor#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: ItemType[]
          • 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 | ItemType[]>

    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 BatchCursor#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: ItemType[]
          • 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

          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/10.0.0-alpha.0/classes/cursors.Cursor.html b/10.0.0-alpha.0/classes/cursors.Cursor.html new file mode 100644 index 000000000..aa642b942 --- /dev/null +++ b/10.0.0-alpha.0/classes/cursors.Cursor.html @@ -0,0 +1,134 @@ +Cursor | arangojs - v10.0.0-alpha.0

Class Cursor<ItemType>

The Cursor type represents a cursor returned from a +databases.Database#query.

+

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

+

See also BatchCursor.

+

Example

const db = new Database();
const query = aql`FOR x IN 1..5 RETURN x`;
const result = await db.query(query) as Cursor<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

  • ItemType = 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 database(): Database
  • Database this cursor belongs to.

    +

    Returns Database

  • 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

  • get id(): undefined | string
  • ID of this cursor.

    +

    Returns undefined | string

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<ItemType, 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<ItemType[]>

    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: ItemType
          • 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: ItemType
          • 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 +Cursor#forEach, Cursor#reduce or +Cursor#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: ItemType
          • 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 | ItemType>

    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 Cursor#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: ItemType
          • 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

          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/10.0.0-alpha.0/classes/databases.Database.html b/10.0.0-alpha.0/classes/databases.Database.html new file mode 100644 index 000000000..ca293d9b3 --- /dev/null +++ b/10.0.0-alpha.0/classes/databases.Database.html @@ -0,0 +1,1269 @@ +Database | arangojs - v10.0.0-alpha.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 +availability +beginTransaction +clearSlowQueries +clearUserAccessLevel +close +collection +collections +commitLocalServiceState +computeClusterRebalance +createAnalyzer +createCollection +createDatabase +createEdgeCollection +createGraph +createHotBackup +createJob +createUser +createUserFunction +createView +database +databases +deleteAllJobResults +deleteExpiredJobResults +deleteHotBackup +downloadService +dropDatabase +dropUserFunction +engine +executeClusterRebalance +executeTransaction +exists +explain +get +getClusterImbalance +getHotBackups +getLogEntries +getLogLevel +getService +getServiceConfiguration +getServiceDependencies +getServiceDocumentation +getServiceReadme +getServiceScripts +getUser +getUserAccessLevel +getUserDatabases +graph +graphs +installService +job +killQuery +listAnalyzers +listCollections +listCompletedJobs +listDatabases +listGraphs +listLogMessages +listPendingJobs +listRunningQueries +listServices +listSlowQueries +listTransactions +listUserDatabases +listUserFunctions +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 +status +supportInfo +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 analyzers.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 +analyzers.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 +
    +
  • Fetches availability information about the server.

    +

    Parameters

    • graceful: boolean = false

      If set to true, the method will always return false +instead of throwing an error; otherwise false will only be returned +when the server responds with a 503 status code or an ArangoDB error with +a code of 503, such as during shutdown.

      +

    Returns Promise<ServerAvailability>

    Example

    const availability = await db.availability();
    // availability is either "default", "readonly", or false +
    +
  • Begins a new streaming transaction for the given collections, then returns +a transactions.Transaction instance for the transaction.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as +well as (in TypeScript) collections.DocumentCollection and +collections.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 transactions.Transaction instance for the transaction.

    +

    Collections can be specified as collection names (strings) or objects +implementing the collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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 transactions.Transaction instance for the transaction.

    +

    The Collection can be specified as a collection name (string) or an object +implementing the collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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 +collections.DocumentCollection and collections.EdgeCollection +interfaces and can be cast to either type to enforce a stricter API.

    +

    Type Parameters

    • EntryResultType extends Record<string, any> = any

      Type to represent document contents returned by +the server (including computed properties).

      +
    • EntryInputType extends Record<string, any> = EntryResultType

      Type to represent document contents passed when +inserting or replacing documents (without computed properties).

      +

    Parameters

    • collectionName: string

      Name of the edge collection.

      +

    Returns DocumentCollection<EntryResultType, EntryInputType> & EdgeCollection<EntryResultType, EntryInputType>

    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 +collections.DocumentCollection and collections.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 analyzers.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 collections.DocumentCollection instance for the new collection.

    +

    Type Parameters

    • EntryResultType extends Record<string, any> = any

      Type to represent document contents returned by +the server (including computed properties).

      +
    • EntryInputType extends Record<string, any> = EntryResultType

      Type to represent document contents passed when +inserting or replacing documents (without computed properties).

      +

    Parameters

    • collectionName: string

      Name of the new collection.

      +
    • Optional options: CollectionPropertiesOptions & {
          distributeShardsLike?: string;
          enforceReplicationFactor?: boolean;
          keyOptions?: CollectionKeyOptions;
          numberOfShards?: number;
          shardKeys?: string[];
          shardingStrategy?: ShardingStrategy;
          smartGraphAttribute?: string;
          smartJoinAttribute?: string;
          waitForSyncReplication?: boolean;
      } & {
          type?: DOCUMENT_COLLECTION;
      }

      Options for creating the collection.

      +

    Returns Promise<DocumentCollection<EntryResultType, EntryInputType>>

    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 collections.EdgeCollection instance for the new +edge collection.

    +

    Type Parameters

    • EntryResultType extends Record<string, any> = any

      Type to represent edge document contents returned +by the server (including computed properties).

      +
    • EntryInputType extends Record<string, any> = EntryResultType

      Type to represent edge document contents passed +when inserting or replacing documents (without computed properties).

      +

    Parameters

    • collectionName: string

      Name of the new collection.

      +
    • options: CollectionPropertiesOptions & {
          distributeShardsLike?: string;
          enforceReplicationFactor?: boolean;
          keyOptions?: CollectionKeyOptions;
          numberOfShards?: number;
          shardKeys?: string[];
          shardingStrategy?: ShardingStrategy;
          smartGraphAttribute?: string;
          smartJoinAttribute?: string;
          waitForSyncReplication?: boolean;
      } & {
          type: EDGE_COLLECTION;
      }

      Options for creating the collection.

      +

    Returns Promise<EdgeCollection<EntryResultType, EntryInputType>>

    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: CreateDatabaseUserOptions[]

      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 collections.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

    • EntryResultType extends Record<string, any> = any

      Type to represent edge document contents returned +by the server (including computed properties).

      +
    • EntryInputType extends Record<string, any> = EntryResultType

      Type to represent edge document contents passed +when inserting or replacing documents (without computed properties).

      +

    Parameters

    • collectionName: string

      Name of the new collection.

      +
    • Optional options: CreateCollectionOptions

      Options for creating the collection.

      +

    Returns Promise<EdgeCollection<EntryResultType, EntryInputType>>

    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 a graph with the given graphName and edgeDefinitions, then +returns a graphs.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 jobs.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 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.createUserFunction(
    "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 new View with the given viewName and options, then returns a +views.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 = systemDb.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.dropUserFunction("ACME::ACCOUNTING::CALCULATE_VAT");
    // the function no longer exists +
    +
  • Fetches storage engine information from the ArangoDB server.

    +

    Returns Promise<EngineInfo>

    Example

    const db = new Database();
    const engine = await db.engine();
    // the engine object contains the storage engine information, e.g.
    // name: name of the storage engine +
    +
  • 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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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: TransactionCollectionOptions & {
          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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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<DatabaseDescription>

    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(); +
    +
  • (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.getHotBackups();
    for (const backup of backups.list) {
    console.log(backup.id);
    } +
    +
  • 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 information about a mounted service.

    +

    Parameters

    • mount: string

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

      +

    Returns Promise<ServiceDescription>

    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.`) +
    +
  • Retrieves an object mapping script names to their human readable +representations, as defined in the service manifest's "scripts" section.

    +

    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.getServiceScripts("/my-service");
    for (const [name, title] of Object.entries(scripts)) {
    console.log(`${name}: ${title}`);
    } +
    +
  • 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 graphs.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 graphs.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<ServiceDescription>

    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 jobs.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<CollectionDescription[]>

    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 all graphs from the database and returns an array of graph +descriptions.

    +

    See also Database#graphs.

    +

    Returns Promise<GraphDescription[]>

    Example

    const db = new Database();
    const graphs = await db.listGraphs();
    // graphs is an array of graph descriptions +
    +
  • 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.listLogMessages();
    for (const m of messages) {
    console.log(`${m.date} - [${m.level}] ${m.message} (#${m.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 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 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 a list of all AQL user functions registered with the database.

    +

    Returns Promise<UserFunctionDescription[]>

    Example

    const db = new Database();
    const functions = await db.listUserFunctions();
    const names = functions.map(fn => fn.name); +
    +
  • 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
    `); +
    +

    aql.

    +
  • Performs a database query using the given query, then returns a new +cursors.Cursor 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<Cursor<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 cursors.Cursor 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<Cursor<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<QueryTrackingInfo>

    Example

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

    +

    Parameters

    Returns Promise<QueryTrackingInfo>

    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<void>

    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<CollectionDescription>>

  • Renames the view viewName to newName.

    +

    Additionally removes any stored views.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<ServiceDescription>

    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 routes.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: Record<string, string> | Headers

      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<ServiceDescription>

    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>

  • Fetches information about the server status.

    +

    Returns Promise<ServerStatusInformation>

    Example

    const status = await db.status();
    // the status object contains the ArangoDB status information, e.g.
    // version: ArangoDB version number
    // host: host identifier of the server
    // serverInfo: detailed information about the server +
    +
  • Retrives the server's current system time in milliseconds with microsecond +precision.

    +

    Returns Promise<number>

  • Returns a transactions.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 +transactions.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<ServiceDescription>

    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 views.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 +views.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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as +well as (in TypeScript) collections.DocumentCollection and +collections.EdgeCollection.

    +

    Type Parameters

    • T

    Parameters

    • collections: TransactionCollectionOptions

      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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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 collections.ArangoCollection interface: Collection, +graphs.GraphVertexCollection, graphs.GraphEdgeCollection as well as +(in TypeScript) collections.DocumentCollection and collections.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/10.0.0-alpha.0/classes/errors.ArangoError.html b/10.0.0-alpha.0/classes/errors.ArangoError.html new file mode 100644 index 000000000..251a1255f --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.ArangoError.html @@ -0,0 +1,23 @@ +ArangoError | arangojs - v10.0.0-alpha.0

Class ArangoError

Represents an error returned by ArangoDB.

+

Hierarchy

  • Error
    • ArangoError

Constructors

  • Creates a new ArangoError from an ArangoDB error response.

    +

    Parameters

    • data: ArangoErrorResponse
    • options: {
          cause?: Error;
          isSafeToRetry?: null | boolean;
      }
      • Optional cause?: Error
      • Optional isSafeToRetry?: null | boolean

    Returns 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"
prepareStackTrace?: ((err, stackTraces) => any)

Optional override for formatting stack traces

+

Type declaration

    • (err, stackTraces): any
    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any

stackTraceLimit: number

Accessors

  • get errorMessage(): string
  • Error message accompanying the error code.

    +

    Returns string

  • get request(): undefined | Request
  • Fetch request object.

    +

    Returns undefined | Request

  • get response(): undefined | ProcessedResponse<ArangoErrorResponse>
  • Server response object.

    +

    Returns undefined | ProcessedResponse<ArangoErrorResponse>

Methods

  • Returns ArangoErrorResponse

  • Create .stack property on a target object

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.FetchFailedError.html b/10.0.0-alpha.0/classes/errors.FetchFailedError.html new file mode 100644 index 000000000..c85f8dcf3 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.FetchFailedError.html @@ -0,0 +1,16 @@ +FetchFailedError | arangojs - v10.0.0-alpha.0

Class FetchFailedError

Represents an error from a failed fetch request.

+

The root cause is often extremely difficult to determine.

+

Hierarchy (view full)

Constructors

  • Parameters

    • message: undefined | string
    • options: {
          cause: TypeError;
          isSafeToRetry?: null | boolean;
          request: Request;
      }
      • cause: TypeError
      • Optional isSafeToRetry?: null | boolean
      • request: Request

    Returns FetchFailedError

Properties

isSafeToRetry: null | boolean

Indicates whether the request that caused this error can be safely retried.

+
name: string = "FetchFailedError"
request: Request

Fetch request 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;
    }

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

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.HttpError.html b/10.0.0-alpha.0/classes/errors.HttpError.html new file mode 100644 index 000000000..9d0944572 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.HttpError.html @@ -0,0 +1,18 @@ +HttpError | arangojs - v10.0.0-alpha.0

Represents a plain HTTP error response.

+

Hierarchy (view full)

Properties

code: number

HTTP status code of the server response.

+
isSafeToRetry: null | boolean

Indicates whether the request that caused this error can be safely retried.

+
name: string = "HttpError"
request: Request

Fetch request object.

+
response: ProcessedResponse<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;
    }

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

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.NetworkError.html b/10.0.0-alpha.0/classes/errors.NetworkError.html new file mode 100644 index 000000000..7f00c9e49 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.NetworkError.html @@ -0,0 +1,15 @@ +NetworkError | arangojs - v10.0.0-alpha.0

Class NetworkError

Represents a network error or an error encountered while performing a network request.

+

Hierarchy (view full)

Constructors

  • Parameters

    • message: string
    • options: {
          cause?: Error;
          isSafeToRetry?: null | boolean;
          request: Request;
      }
      • Optional cause?: Error
      • Optional isSafeToRetry?: null | boolean
      • request: Request

    Returns NetworkError

Properties

isSafeToRetry: null | boolean

Indicates whether the request that caused this error can be safely retried.

+
name: string = "NetworkError"
request: Request

Fetch request 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;
    }

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

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.PropagationTimeoutError.html b/10.0.0-alpha.0/classes/errors.PropagationTimeoutError.html new file mode 100644 index 000000000..60ad38533 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.PropagationTimeoutError.html @@ -0,0 +1,11 @@ +PropagationTimeoutError | arangojs - v10.0.0-alpha.0

Class PropagationTimeoutError

Represents an error from a deliberate timeout encountered while waiting +for propagation.

+

Hierarchy

  • Error
    • PropagationTimeoutError

Constructors

  • Parameters

    • message: undefined | string
    • options: {
          cause: Error;
      }
      • cause: Error

    Returns PropagationTimeoutError

Properties

name: string = "PropagationTimeoutError"
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

  • Create .stack property on a target object

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.RequestAbortedError.html b/10.0.0-alpha.0/classes/errors.RequestAbortedError.html new file mode 100644 index 000000000..12abf67f0 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.RequestAbortedError.html @@ -0,0 +1,15 @@ +RequestAbortedError | arangojs - v10.0.0-alpha.0

Class RequestAbortedError

Represents an error from a request that was aborted.

+

Hierarchy (view full)

Constructors

  • Parameters

    • message: undefined | string
    • options: {
          cause?: Error;
          isSafeToRetry?: null | boolean;
          request: Request;
      }
      • Optional cause?: Error
      • Optional isSafeToRetry?: null | boolean
      • request: Request

    Returns RequestAbortedError

Properties

isSafeToRetry: null | boolean

Indicates whether the request that caused this error can be safely retried.

+
name: string = "RequestAbortedError"
request: Request

Fetch request 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;
    }

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

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/errors.ResponseTimeoutError.html b/10.0.0-alpha.0/classes/errors.ResponseTimeoutError.html new file mode 100644 index 000000000..a8d4705f9 --- /dev/null +++ b/10.0.0-alpha.0/classes/errors.ResponseTimeoutError.html @@ -0,0 +1,16 @@ +ResponseTimeoutError | arangojs - v10.0.0-alpha.0

Class ResponseTimeoutError

Represents an error from a deliberate timeout encountered while waiting +for a server response.

+

Hierarchy (view full)

Constructors

  • Parameters

    • message: undefined | string
    • options: {
          cause?: Error;
          isSafeToRetry?: null | boolean;
          request: Request;
      }
      • Optional cause?: Error
      • Optional isSafeToRetry?: null | boolean
      • request: Request

    Returns ResponseTimeoutError

Properties

isSafeToRetry: null | boolean

Indicates whether the request that caused this error can be safely retried.

+
name: string = "ResponseTimeoutError"
request: Request

Fetch request 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;
    }

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

    +

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void

\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/graphs.Graph.html b/10.0.0-alpha.0/classes/graphs.Graph.html new file mode 100644 index 000000000..73404675a --- /dev/null +++ b/10.0.0-alpha.0/classes/graphs.Graph.html @@ -0,0 +1,101 @@ +Graph | arangojs - v10.0.0-alpha.0

Represents a graph in a databases.Database.

+

Accessors

  • get database(): Database
  • Database this graph belongs to.

    +

    Returns Database

  • get isArangoGraph(): true
  • Indicates that this object represents an ArangoDB Graph.

    +

    Returns true

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

    +

    Returns string

Methods

  • Adds an edge definition to this graph.

    +

    Parameters

    Returns Promise<GraphDescription>

    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<GraphDescription>

    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<GraphDescription>

    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 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, 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 GraphEdgeCollection instances.

    +

    See also Graph#listEdgeCollections.

    +

    Returns Promise<GraphEdgeCollection<any, 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<GraphDescription>

    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#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#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<GraphDescription>

    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<GraphDescription>

    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<GraphDescription>

    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<GraphDescription>

    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 GraphVertexCollection instances.

    +

    See also Graph#listVertexCollections.

    +

    Returns Promise<GraphVertexCollection<any, 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/10.0.0-alpha.0/classes/graphs.GraphEdgeCollection.html b/10.0.0-alpha.0/classes/graphs.GraphEdgeCollection.html new file mode 100644 index 000000000..fcf11288a --- /dev/null +++ b/10.0.0-alpha.0/classes/graphs.GraphEdgeCollection.html @@ -0,0 +1,78 @@ +GraphEdgeCollection | arangojs - v10.0.0-alpha.0

Class GraphEdgeCollection<EntryResultType, EntryInputType>

Represents a collections.EdgeCollection of edges in a Graph.

+

Type Parameters

  • EntryResultType extends Record<string, any> = any

    Type to represent edge document contents returned +by the server (including computed properties).

    +
  • EntryInputType extends Record<string, any> = EntryResultType

    Type to represent edge document contents passed +when inserting or replacing edge documents (without computed properties).

    +

Implements

Accessors

  • get database(): Database
  • Database this edge collection belongs to.

    +

    Returns Database

  • get graph(): Graph
  • The 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

    • selector: DocumentSelector

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

      +
    • Optional options: ReadGraphDocumentOptions

      Options for retrieving the edge.

      +

    Returns Promise<Edge<EntryResultType>>

    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<EntryResultType>>

    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<EntryResultType>;
    }>

    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<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 +
    +
  • Inserts a new edge with the given data into the collection.

    +

    Parameters

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

    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<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 +
    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/classes/graphs.GraphVertexCollection.html b/10.0.0-alpha.0/classes/graphs.GraphVertexCollection.html new file mode 100644 index 000000000..78e1eb56d --- /dev/null +++ b/10.0.0-alpha.0/classes/graphs.GraphVertexCollection.html @@ -0,0 +1,80 @@ +GraphVertexCollection | arangojs - v10.0.0-alpha.0

Class GraphVertexCollection<EntryResultType, EntryInputType>

Represents a collections.DocumentCollection of vertices in a Graph.

+

Type Parameters

  • EntryResultType extends Record<string, any> = any

    Type to represent vertex document contents returned +by the server (including computed properties).

    +
  • EntryInputType extends Record<string, any> = EntryResultType

    Type to represent vertex document contents passed +when inserting or replacing vertex documents (without computed properties).

    +

Implements

Accessors

  • get database(): Database
  • Database this vertex collection belongs to.

    +

    Returns Database

  • get graph(): Graph
  • The 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<EntryResultType>;
    }>

    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<EntryResultType>;
        old?: Document<EntryResultType>;
    }>

    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<EntryResultType>;
    }>

    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<EntryResultType>;
        old?: Document<EntryResultType>;
    }>

    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

    • selector: DocumentSelector

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

      +
    • Optional options: ReadGraphDocumentOptions

      Options for retrieving the vertex.

      +

    Returns Promise<Document<EntryResultType>>

    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<EntryResultType>>

    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/10.0.0-alpha.0/classes/jobs.Job.html b/10.0.0-alpha.0/classes/jobs.Job.html new file mode 100644 index 000000000..37fa43b44 --- /dev/null +++ b/10.0.0-alpha.0/classes/jobs.Job.html @@ -0,0 +1,26 @@ +Job | arangojs - v10.0.0-alpha.0

Class Job<ResultType>

Represents an async job in a databases.Database.

+

Type Parameters

  • ResultType = any

    The type of the job's result.

    +

Accessors

  • get database(): Database
  • Database this job belongs to.

    +

    Returns Database

  • 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 | ResultType
  • The job's result if it has been loaded or undefined otherwise.

    +

    Returns undefined | ResultType

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 | ResultType>

    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/10.0.0-alpha.0/classes/routes.Route.html b/10.0.0-alpha.0/classes/routes.Route.html new file mode 100644 index 000000000..d583c423e --- /dev/null +++ b/10.0.0-alpha.0/classes/routes.Route.html @@ -0,0 +1,114 @@ +Route | arangojs - v10.0.0-alpha.0

Represents an arbitrary route relative to an ArangoDB database.

+

Accessors

Methods

Accessors

  • get database(): Database
  • Database this route belongs to.

    +

    Returns Database

  • get headers(): Headers
  • Headers of this route.

    +

    Returns Headers

  • get path(): string
  • Path of this route.

    +

    Returns string

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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      Additional headers to send with this request.

      +

    Returns Promise<ProcessedResponse<any>>

    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<ProcessedResponse<any>>

    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: Record<string, string> | Headers

      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/10.0.0-alpha.0/classes/transactions.Transaction.html b/10.0.0-alpha.0/classes/transactions.Transaction.html new file mode 100644 index 000000000..45f71d454 --- /dev/null +++ b/10.0.0-alpha.0/classes/transactions.Transaction.html @@ -0,0 +1,61 @@ +Transaction | arangojs - v10.0.0-alpha.0

Represents a streaming transaction in a databases.Database.

+

Accessors

Methods

Accessors

  • get database(): Database
  • Database this transaction belongs to.

    +

    Returns Database

Methods

  • Attempts to abort the transaction to the databases.

    +

    Parameters

    Returns Promise<TransactionInfo>

    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<TransactionInfo>

    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<TransactionInfo>

    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/10.0.0-alpha.0/classes/views.View.html b/10.0.0-alpha.0/classes/views.View.html new file mode 100644 index 000000000..3820de021 --- /dev/null +++ b/10.0.0-alpha.0/classes/views.View.html @@ -0,0 +1,46 @@ +View | arangojs - v10.0.0-alpha.0

Represents a View in a databases.Database.

+

Accessors

  • get database(): Database
  • Database this view belongs to.

    +

    Returns Database

  • 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 databases.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/10.0.0-alpha.0/enums/collections.CollectionStatus.html b/10.0.0-alpha.0/enums/collections.CollectionStatus.html new file mode 100644 index 000000000..1d2a20299 --- /dev/null +++ b/10.0.0-alpha.0/enums/collections.CollectionStatus.html @@ -0,0 +1,8 @@ +CollectionStatus | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/enums/collections.CollectionType.html b/10.0.0-alpha.0/enums/collections.CollectionType.html new file mode 100644 index 000000000..99479bb87 --- /dev/null +++ b/10.0.0-alpha.0/enums/collections.CollectionType.html @@ -0,0 +1,4 @@ +CollectionType | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/enums/logs.LogLevel.html b/10.0.0-alpha.0/enums/logs.LogLevel.html new file mode 100644 index 000000000..4493979ab --- /dev/null +++ b/10.0.0-alpha.0/enums/logs.LogLevel.html @@ -0,0 +1,7 @@ +LogLevel | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/analyzers.isArangoAnalyzer.html b/10.0.0-alpha.0/functions/analyzers.isArangoAnalyzer.html new file mode 100644 index 000000000..c52cf46fa --- /dev/null +++ b/10.0.0-alpha.0/functions/analyzers.isArangoAnalyzer.html @@ -0,0 +1,3 @@ +isArangoAnalyzer | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/aql.aql.html b/10.0.0-alpha.0/functions/aql.aql.html new file mode 100644 index 000000000..fb8bcfcf2 --- /dev/null +++ b/10.0.0-alpha.0/functions/aql.aql.html @@ -0,0 +1,23 @@ +aql | arangojs - v10.0.0-alpha.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 collections.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/10.0.0-alpha.0/functions/aql.isAqlLiteral.html b/10.0.0-alpha.0/functions/aql.isAqlLiteral.html new file mode 100644 index 000000000..00057adb3 --- /dev/null +++ b/10.0.0-alpha.0/functions/aql.isAqlLiteral.html @@ -0,0 +1,3 @@ +isAqlLiteral | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/aql.isAqlQuery.html b/10.0.0-alpha.0/functions/aql.isAqlQuery.html new file mode 100644 index 000000000..bea05c7c7 --- /dev/null +++ b/10.0.0-alpha.0/functions/aql.isAqlQuery.html @@ -0,0 +1,3 @@ +isAqlQuery | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/aql.join.html b/10.0.0-alpha.0/functions/aql.join.html new file mode 100644 index 000000000..6085d6c6d --- /dev/null +++ b/10.0.0-alpha.0/functions/aql.join.html @@ -0,0 +1,15 @@ +join | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/aql.literal.html b/10.0.0-alpha.0/functions/aql.literal.html new file mode 100644 index 000000000..87ecae6c4 --- /dev/null +++ b/10.0.0-alpha.0/functions/aql.literal.html @@ -0,0 +1,15 @@ +literal | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/collections.collectionToString.html b/10.0.0-alpha.0/functions/collections.collectionToString.html new file mode 100644 index 000000000..d952fdcda --- /dev/null +++ b/10.0.0-alpha.0/functions/collections.collectionToString.html @@ -0,0 +1,4 @@ +collectionToString | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/collections.isArangoCollection.html b/10.0.0-alpha.0/functions/collections.isArangoCollection.html new file mode 100644 index 000000000..618acdc41 --- /dev/null +++ b/10.0.0-alpha.0/functions/collections.isArangoCollection.html @@ -0,0 +1,3 @@ +isArangoCollection | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/databases.isArangoDatabase.html b/10.0.0-alpha.0/functions/databases.isArangoDatabase.html new file mode 100644 index 000000000..f9c42104a --- /dev/null +++ b/10.0.0-alpha.0/functions/databases.isArangoDatabase.html @@ -0,0 +1,3 @@ +isArangoDatabase | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/errors.isArangoError.html b/10.0.0-alpha.0/functions/errors.isArangoError.html new file mode 100644 index 000000000..18efd19b9 --- /dev/null +++ b/10.0.0-alpha.0/functions/errors.isArangoError.html @@ -0,0 +1,3 @@ +isArangoError | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/errors.isNetworkError.html b/10.0.0-alpha.0/functions/errors.isNetworkError.html new file mode 100644 index 000000000..17fcffb9a --- /dev/null +++ b/10.0.0-alpha.0/functions/errors.isNetworkError.html @@ -0,0 +1,3 @@ +isNetworkError | arangojs - v10.0.0-alpha.0

Function isNetworkError

  • Indicates whether the given value represents a NetworkError.

    +

    Parameters

    • error: any

      A value that might be a NetworkError.

      +

    Returns error is NetworkError

\ No newline at end of file diff --git a/10.0.0-alpha.0/functions/graphs.isArangoGraph.html b/10.0.0-alpha.0/functions/graphs.isArangoGraph.html new file mode 100644 index 000000000..2c742e552 --- /dev/null +++ b/10.0.0-alpha.0/functions/graphs.isArangoGraph.html @@ -0,0 +1,3 @@ +isArangoGraph | arangojs - v10.0.0-alpha.0

Function isArangoGraph

  • Indicates whether the given value represents a Graph.

    +

    Parameters

    • graph: any

      A value that might be a Graph.

      +

    Returns graph is Graph

\ No newline at end of file diff --git a/10.0.0-alpha.0/functions/index.arangojs.html b/10.0.0-alpha.0/functions/index.arangojs.html new file mode 100644 index 000000000..13bde40f4 --- /dev/null +++ b/10.0.0-alpha.0/functions/index.arangojs.html @@ -0,0 +1,12 @@ +arangojs | arangojs - v10.0.0-alpha.0

Function arangojs

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

    +

    This is a wrapper function for the :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 :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/10.0.0-alpha.0/functions/transactions.isArangoTransaction.html b/10.0.0-alpha.0/functions/transactions.isArangoTransaction.html new file mode 100644 index 000000000..dbe925af3 --- /dev/null +++ b/10.0.0-alpha.0/functions/transactions.isArangoTransaction.html @@ -0,0 +1,3 @@ +isArangoTransaction | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/functions/views.isArangoView.html b/10.0.0-alpha.0/functions/views.isArangoView.html new file mode 100644 index 000000000..14eb63a6d --- /dev/null +++ b/10.0.0-alpha.0/functions/views.isArangoView.html @@ -0,0 +1,3 @@ +isArangoView | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/hierarchy.html b/10.0.0-alpha.0/hierarchy.html new file mode 100644 index 000000000..6461695ef --- /dev/null +++ b/10.0.0-alpha.0/hierarchy.html @@ -0,0 +1 @@ +arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/index.html b/10.0.0-alpha.0/index.html new file mode 100644 index 000000000..f4d15a557 --- /dev/null +++ b/10.0.0-alpha.0/index.html @@ -0,0 +1,151 @@ +arangojs - v10.0.0-alpha.0

arangojs - v10.0.0-alpha.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/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 the server returns an ArangoDB error response, arangojs will throw an +ArangoError with an errorNum property indicating the ArangoDB error code +and expose the response body as the response property of the error object.

+

For all other errors during the request/response cycle, arangojs will throw a +NetworkError or a more specific subclass thereof and expose the originating +request object as the request property of the error object.

+

If the server responded with a non-2xx status code, this NetworkError will +be an HttpError with a code property indicating the HTTP status code of the +response and a response property containing the response object itself.

+

If the error is caused by an exception, the originating exception will be +available as the cause property of the error object thrown by arangojs. For +network errors, this will often be a TypeError.

+

Node.js network errors

In Node.js, network errors caused by a TypeError will often have a cause +property containing a more detailed exception.

+

Specifically, these are often either system errors (represented by regular +Error objects with additional properties) or errors from the undici module +Node.js uses internally for its native fetch implementation.

+

Node.js system error objects provide a code property containing the specific +string error code, a syscall property identifying the underlying system call +that triggered the error (e.g. connect), as well as other helpful properties.

+

For more details on Node.js system errors, see the Node.js documentation of the +SystemError interface +as well as the section on +Node.js error codes.

+

For more details on the errors thrown by undici, see the +undici errors documentation.

+

Common issues

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. 8.x.y -> 9.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.

+

You can install an older version of arangojs using npm or yarn:

+
# for version 8.x.x
yarn add arangojs@8
# - or -
npm install --save arangojs@8 +
+

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 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,
})
); +
+

This is a known limitation +of Node.js at the time of this writing.

+

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 the transaction.step 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/10.0.0-alpha.0/interfaces/administration.QueueTimeMetrics.html b/10.0.0-alpha.0/interfaces/administration.QueueTimeMetrics.html new file mode 100644 index 000000000..228572f39 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/administration.QueueTimeMetrics.html @@ -0,0 +1,12 @@ +QueueTimeMetrics | arangojs - v10.0.0-alpha.0

Interface QueueTimeMetrics

An object providing methods for accessing queue time metrics of the most +recently received server responses if the server supports this feature.

+
interface QueueTimeMetrics {
    getAvg(): number;
    getLatest(): undefined | number;
    getValues(): [number, number][];
}

Methods

  • Returns the average queue time of the most recently received responses +in seconds.

    +

    Returns number

  • Returns the queue time of the most recently received response in seconds.

    +

    Returns undefined | 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.

    +

    Returns [number, number][]

\ No newline at end of file diff --git a/10.0.0-alpha.0/interfaces/aql.AqlLiteral.html b/10.0.0-alpha.0/interfaces/aql.AqlLiteral.html new file mode 100644 index 000000000..0c8c56fff --- /dev/null +++ b/10.0.0-alpha.0/interfaces/aql.AqlLiteral.html @@ -0,0 +1,5 @@ +AqlLiteral | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/interfaces/aql.AqlQuery.html b/10.0.0-alpha.0/interfaces/aql.AqlQuery.html new file mode 100644 index 000000000..5594b6f59 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/aql.AqlQuery.html @@ -0,0 +1,10 @@ +AqlQuery | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/interfaces/collections.ArangoCollection.html b/10.0.0-alpha.0/interfaces/collections.ArangoCollection.html new file mode 100644 index 000000000..4f52ea509 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/collections.ArangoCollection.html @@ -0,0 +1,6 @@ +ArangoCollection | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/interfaces/collections.DocumentCollection.html b/10.0.0-alpha.0/interfaces/collections.DocumentCollection.html new file mode 100644 index 000000000..f14e8bc13 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/collections.DocumentCollection.html @@ -0,0 +1,296 @@ +DocumentCollection | arangojs - v10.0.0-alpha.0

Interface DocumentCollection<EntryResultType, EntryInputType>

Represents an document collection in a databases.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.

+

Example

interface Person {
name: string;
}
const db = new Database();
const documents = db.collection("persons") as DocumentCollection<Person>; +
+
interface DocumentCollection<EntryResultType, EntryInputType> {
    database: Database;
    name: string;
    checksum(options?): Promise<ArangoApiResponse<CollectionDescription & {
        checksum: string;
        revision: string;
    }>>;
    compact(): Promise<ArangoApiResponse<CollectionDescription>>;
    count(): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties & {
        count: number;
    }>>;
    create(options?): Promise<ArangoApiResponse<CollectionDescription & 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<{
        id: string;
    }>>;
    dropIndex(selector): Promise<ArangoApiResponse<{
        id: string;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "persistent";
        unique: boolean;
    } & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        storedValues?: string[];
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "ttl";
        unique: boolean;
    } & {
        expireAfter: number;
        selectivityEstimate: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "mdi";
        unique: boolean;
    } & {
        fieldValueTypes: "double";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: [string, string] | [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "geo";
        unique: boolean;
    } & {
        bestIndexedLevel: number;
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: InvertedIndexField[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "inverted";
        unique: boolean;
    } & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        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;
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<IndexDescription & {
        isNewlyCreated: boolean;
    }>>;
    exists(): Promise<boolean>;
    figures(details?): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>;
    get(): Promise<ArangoApiResponse<CollectionDescription>>;
    getResponsibleShard(document): Promise<string>;
    import(data, options?): Promise<ImportDocumentsResult>;
    import(data, options?): Promise<ImportDocumentsResult>;
    import(data, options?): Promise<ImportDocumentsResult>;
    index(selector): Promise<IndexDescription>;
    indexes<IndexType>(options?): Promise<IndexType[]>;
    loadIndexes(): Promise<boolean>;
    properties(): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties>>;
    properties(properties): Promise<ArangoApiResponse<CollectionDescription & 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<CollectionDescription>>;
    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<CollectionDescription & 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(options?): Promise<ArangoApiResponse<CollectionDescription>>;
    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

    Type to represent document contents returned by the +server (including computed properties).

    +
  • EntryInputType extends Record<string, any> = EntryResultType

    Type to represent document contents passed when +inserting or replacing documents (without computed properties).

    +

Hierarchy (view full)

Properties

database: Database

Database this collection belongs to.

+
name: string

Name of the collection.

+

Methods

  • Retrieves the collection checksum.

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionDescription & {
        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 +
    +
  • Creates a collection with the given options and the instance's name.

    +

    See also databases.Database#createCollection and +databases.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

    • Optional options: CollectionPropertiesOptions & {
          distributeShardsLike?: string;
          enforceReplicationFactor?: boolean;
          keyOptions?: CollectionKeyOptions;
          numberOfShards?: number;
          shardKeys?: string[];
          shardingStrategy?: ShardingStrategy;
          smartGraphAttribute?: string;
          smartJoinAttribute?: string;
          waitForSyncReplication?: boolean;
      } & {
          type?: CollectionType;
      }

      Options for creating the collection.

      +

    Returns Promise<ArangoApiResponse<CollectionDescription & 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: ReadDocumentOptions

      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 | ObjectWithDocumentKey)[]

      Array of document _key, _id or objects with either +of those properties (e.g. a document from this collection).

      +
    • Optional options: BulkReadDocumentsOptions

      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<{
        id: string;
    }>>

    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<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "persistent";
        unique: boolean;
    } & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        storedValues?: string[];
    } & {
        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<{
        fields: [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "ttl";
        unique: boolean;
    } & {
        expireAfter: number;
        selectivityEstimate: number;
    } & {
        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<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "mdi";
        unique: boolean;
    } & {
        fieldValueTypes: "double";
    } & {
        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<{
        fields: [string, string] | [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "geo";
        unique: boolean;
    } & {
        bestIndexedLevel: number;
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        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<{
        fields: InvertedIndexField[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "inverted";
        unique: boolean;
    } & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        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;
        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<IndexDescription & {
        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<CollectionDescription & 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<CollectionDescription>>

    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<ImportDocumentsResult>

    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: ImportDocumentsOptions

      Options for importing the data.

      +

    Returns Promise<ImportDocumentsResult>

    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: ImportDocumentsOptions & {
          type?: "documents" | "list" | "auto";
      }

      Options for importing the data.

      +

    Returns Promise<ImportDocumentsResult>

    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<IndexDescription>

    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<HiddenIndexDescription>({
    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: RemoveDocumentOptions

      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 | ObjectWithDocumentKey)[]

      Documents _key, _id or objects with either of those +properties (e.g. documents from this collection).

      +
    • Optional options: Omit<RemoveDocumentOptions, "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 databases.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<CollectionDescription>>

    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 +
    +
  • Inserts a new document with the given data into the collection.

    +

    Parameters

    Returns Promise<DocumentMetadata & {
        _oldRev?: string;
    } & {
        new?: Document<EntryResultType>;
        old?: Document<EntryResultType>;
    }>

    Example

    const db = new Database();
    const collection = db.collection("some-collection");
    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 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/10.0.0-alpha.0/interfaces/collections.EdgeCollection.html b/10.0.0-alpha.0/interfaces/collections.EdgeCollection.html new file mode 100644 index 000000000..c403c4ef0 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/collections.EdgeCollection.html @@ -0,0 +1,326 @@ +EdgeCollection | arangojs - v10.0.0-alpha.0

Interface EdgeCollection<EntryResultType, EntryInputType>

Represents an edge collection in a databases.Database.

+

See DocumentCollection for a more generic variant of this interface +more suited for regular document collections.

+

See also graphs.GraphEdgeCollection for the type representing an edge +collection in a graphs.Graph.

+

When using TypeScript, collections can be cast to a specific edge document +data type to increase type safety.

+

Example

interface Friend {
startDate: number;
endDate?: number;
}
const db = new Database();
const edges = db.collection("friends") as EdgeCollection<Friend>; +
+
interface EdgeCollection<EntryResultType, EntryInputType> {
    database: Database;
    name: string;
    checksum(options?): Promise<ArangoApiResponse<CollectionDescription & {
        checksum: string;
        revision: string;
    }>>;
    compact(): Promise<ArangoApiResponse<CollectionDescription>>;
    count(): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties & {
        count: number;
    }>>;
    create(options?): Promise<ArangoApiResponse<CollectionDescription & 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<{
        id: string;
    }>>;
    dropIndex(selector): Promise<ArangoApiResponse<{
        id: string;
    }>>;
    edges(selector, options?): Promise<ArangoApiResponse<DocumentEdgesResult<EntryResultType>>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "persistent";
        unique: boolean;
    } & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        storedValues?: string[];
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "ttl";
        unique: boolean;
    } & {
        expireAfter: number;
        selectivityEstimate: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "mdi";
        unique: boolean;
    } & {
        fieldValueTypes: "double";
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: [string, string] | [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "geo";
        unique: boolean;
    } & {
        bestIndexedLevel: number;
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        worstIndexedLevel: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<{
        fields: InvertedIndexField[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "inverted";
        unique: boolean;
    } & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        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;
        writeBufferActive: number;
        writeBufferIdle: number;
        writeBufferSizeMax: number;
    } & {
        isNewlyCreated: boolean;
    }>>;
    ensureIndex(options): Promise<ArangoApiResponse<IndexDescription & {
        isNewlyCreated: boolean;
    }>>;
    exists(): Promise<boolean>;
    figures(details?): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties & {
        count: number;
        figures: Record<string, any>;
    }>>;
    get(): Promise<ArangoApiResponse<CollectionDescription>>;
    getResponsibleShard(document): Promise<string>;
    import(data, options?): Promise<ImportDocumentsResult>;
    import(data, options?): Promise<ImportDocumentsResult>;
    import(data, options?): Promise<ImportDocumentsResult>;
    inEdges(selector, options?): Promise<ArangoApiResponse<DocumentEdgesResult<EntryResultType>>>;
    index(selector): Promise<IndexDescription>;
    indexes<IndexType>(options?): Promise<IndexType[]>;
    loadIndexes(): Promise<boolean>;
    outEdges(selector, options?): Promise<ArangoApiResponse<DocumentEdgesResult<EntryResultType>>>;
    properties(): Promise<ArangoApiResponse<CollectionDescription & CollectionProperties>>;
    properties(properties): Promise<ArangoApiResponse<CollectionDescription & 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<CollectionDescription>>;
    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<CollectionDescription & 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(options?): Promise<ArangoApiResponse<CollectionDescription>>;
    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

    Type to represent edge document contents returned +by the server (including computed properties).

    +
  • EntryInputType extends Record<string, any> = EntryResultType

    Type to represent edge document contents passed when +inserting or replacing edge documents (without computed properties).

    +

Hierarchy (view full)

Properties

database: Database

Database this collection belongs to.

+
name: string

Name of the collection.

+

Methods

  • Retrieves the collection checksum.

    +

    Parameters

    Returns Promise<ArangoApiResponse<CollectionDescription & {
        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 +
    +
  • Creates a collection with the given options and the instance's name.

    +

    See also databases.Database#createCollection and +databases.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

    • Optional options: CollectionPropertiesOptions & {
          distributeShardsLike?: string;
          enforceReplicationFactor?: boolean;
          keyOptions?: CollectionKeyOptions;
          numberOfShards?: number;
          shardKeys?: string[];
          shardingStrategy?: ShardingStrategy;
          smartGraphAttribute?: string;
          smartJoinAttribute?: string;
          waitForSyncReplication?: boolean;
      } & {
          type?: CollectionType;
      }

      Options for creating the collection.

      +

    Returns Promise<ArangoApiResponse<CollectionDescription & 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: ReadDocumentOptions

      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 | ObjectWithDocumentKey)[]

      Array of document _key, _id or objects with either +of those properties (e.g. a document from this collection).

      +
    • Optional options: BulkReadDocumentsOptions

      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<{
        id: string;
    }>>

    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 in this collection 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: DocumentEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<DocumentEdgesResult<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<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "persistent";
        unique: boolean;
    } & {
        cacheEnabled: boolean;
        deduplicate: boolean;
        estimates: boolean;
        storedValues?: string[];
    } & {
        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<{
        fields: [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "ttl";
        unique: boolean;
    } & {
        expireAfter: number;
        selectivityEstimate: number;
    } & {
        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<{
        fields: string[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "mdi";
        unique: boolean;
    } & {
        fieldValueTypes: "double";
    } & {
        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<{
        fields: [string, string] | [string];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "geo";
        unique: boolean;
    } & {
        bestIndexedLevel: number;
        geoJson: boolean;
        legacyPolygons: boolean;
        maxNumCoverCells: number;
        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<{
        fields: InvertedIndexField[];
        figures?: Record<string, any>;
        id: string;
        name: string;
        sparse: boolean;
        type: "inverted";
        unique: boolean;
    } & {
        analyzer: string;
        cache?: boolean;
        cleanupIntervalStep: number;
        commitIntervalMsec: number;
        consolidationIntervalMsec: number;
        consolidationPolicy: Required<TierConsolidationPolicy>;
        features: AnalyzerFeature[];
        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;
        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<IndexDescription & {
        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<CollectionDescription & 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<ImportDocumentsResult>

    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: ImportDocumentsOptions

      Options for importing the data.

      +

    Returns Promise<ImportDocumentsResult>

    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: ImportDocumentsOptions & {
          type?: "documents" | "list" | "auto";
      }

      Options for importing the data.

      +

    Returns Promise<ImportDocumentsResult>

    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: DocumentEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<DocumentEdgesResult<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<IndexDescription>

    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<HiddenIndexDescription>({
    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: DocumentEdgesOptions

      Options for retrieving the edges.

      +

    Returns Promise<ArangoApiResponse<DocumentEdgesResult<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: RemoveDocumentOptions

      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 databases.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<CollectionDescription>>

    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: UpdateDocumentOptions

      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/10.0.0-alpha.0/interfaces/connection.ProcessedResponse.html b/10.0.0-alpha.0/interfaces/connection.ProcessedResponse.html new file mode 100644 index 000000000..01ee5b00a --- /dev/null +++ b/10.0.0-alpha.0/interfaces/connection.ProcessedResponse.html @@ -0,0 +1,25 @@ +ProcessedResponse | arangojs - v10.0.0-alpha.0

Interface ProcessedResponse<T>

Processed response object.

+
interface ProcessedResponse<T> {
    arrayBuffer: (() => Promise<ArrayBuffer>);
    blob: (() => Promise<Blob>);
    body: null | ReadableStream<any>;
    bodyUsed: boolean;
    clone: (() => Response);
    formData: (() => Promise<FormData>);
    headers: Headers;
    json: (() => Promise<unknown>);
    ok: boolean;
    parsedBody?: T;
    redirected: boolean;
    request: Request;
    status: number;
    statusText: string;
    text: (() => Promise<string>);
    type: ResponseType;
    url: string;
}

Type Parameters

  • T = any

Hierarchy

  • Response
    • ProcessedResponse

Properties

arrayBuffer: (() => Promise<ArrayBuffer>)

Type declaration

    • (): Promise<ArrayBuffer>
    • Returns Promise<ArrayBuffer>

blob: (() => Promise<Blob>)

Type declaration

    • (): Promise<Blob>
    • Returns Promise<Blob>

body: null | ReadableStream<any>
bodyUsed: boolean
clone: (() => Response)

Type declaration

    • (): Response
    • Returns Response

formData: (() => Promise<FormData>)

Type declaration

    • (): Promise<FormData>
    • Returns Promise<FormData>

Deprecated

This method is not recommended for parsing multipart/form-data bodies in server environments. +It is recommended to use a library such as @fastify/busboy as follows:

+

Example

import { Busboy } from '@fastify/busboy'
import { Readable } from 'node:stream'

const response = await fetch('...')
const busboy = new Busboy({ headers: { 'content-type': response.headers.get('content-type') } })

// handle events emitted from `busboy`

Readable.fromWeb(response.body).pipe(busboy) +
+
headers: Headers
json: (() => Promise<unknown>)

Type declaration

    • (): Promise<unknown>
    • Returns Promise<unknown>

ok: boolean
parsedBody?: T

Parsed response body.

+
redirected: boolean
request: Request

Fetch request object.

+
status: number
statusText: string
text: (() => Promise<string>)

Type declaration

    • (): Promise<string>
    • Returns Promise<string>

type: ResponseType
url: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/interfaces/cursors.BatchCursorItemsView.html b/10.0.0-alpha.0/interfaces/cursors.BatchCursorItemsView.html new file mode 100644 index 000000000..a9a760cd1 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/cursors.BatchCursorItemsView.html @@ -0,0 +1,5 @@ +BatchCursorItemsView | arangojs - v10.0.0-alpha.0

Interface BatchCursorItemsView<ItemType>

A low-level interface for consuming the items of a BatchCursor.

+
interface BatchCursorItemsView<ItemType> {
    isEmpty: boolean;
    more(): Promise<void>;
    shift(): undefined | ItemType;
}

Type Parameters

  • ItemType = any

Properties

Methods

Properties

isEmpty: boolean

Methods

  • Returns Promise<void>

  • Returns undefined | ItemType

\ No newline at end of file diff --git a/10.0.0-alpha.0/interfaces/views.CreateArangoSearchViewStoredValueOptions.html b/10.0.0-alpha.0/interfaces/views.CreateArangoSearchViewStoredValueOptions.html new file mode 100644 index 000000000..810fd1665 --- /dev/null +++ b/10.0.0-alpha.0/interfaces/views.CreateArangoSearchViewStoredValueOptions.html @@ -0,0 +1,12 @@ +CreateArangoSearchViewStoredValueOptions | arangojs - v10.0.0-alpha.0

Interface CreateArangoSearchViewStoredValueOptions

Options for creating a stored value in an ArangoSearch View.

+
interface CreateArangoSearchViewStoredValueOptions {
    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/10.0.0-alpha.0/modules/administration.html b/10.0.0-alpha.0/modules/administration.html new file mode 100644 index 000000000..a7594848f --- /dev/null +++ b/10.0.0-alpha.0/modules/administration.html @@ -0,0 +1,11 @@ +administration | arangojs - v10.0.0-alpha.0

Module administration

import type { VersionInfo } from "arangojs/administration";
+
+

The "administration" module provides types for database administration.

+

Index

Interfaces

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/analyzers.html b/10.0.0-alpha.0/modules/analyzers.html new file mode 100644 index 000000000..322d07696 --- /dev/null +++ b/10.0.0-alpha.0/modules/analyzers.html @@ -0,0 +1,54 @@ +analyzers | arangojs - v10.0.0-alpha.0

Module analyzers

import type { Analyzer } from "arangojs/analyzers";
+
+

The "analyzers" module provides Analyzer related types and interfaces +for TypeScript.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/aql.html b/10.0.0-alpha.0/modules/aql.html new file mode 100644 index 000000000..1d08f7ac2 --- /dev/null +++ b/10.0.0-alpha.0/modules/aql.html @@ -0,0 +1,14 @@ +aql | arangojs - v10.0.0-alpha.0

Module aql

import { aql } from "arangojs/aql";
+
+

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/10.0.0-alpha.0/modules/cluster.html b/10.0.0-alpha.0/modules/cluster.html new file mode 100644 index 000000000..04c1c96dd --- /dev/null +++ b/10.0.0-alpha.0/modules/cluster.html @@ -0,0 +1,9 @@ +cluster | arangojs - v10.0.0-alpha.0

Module cluster

import type { ClusterImbalanceInfo } from "arangojs/cluster";
+
+

The "cluster" module provides types for cluster management.

+

Index

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/collections.html b/10.0.0-alpha.0/modules/collections.html new file mode 100644 index 000000000..1f86892b2 --- /dev/null +++ b/10.0.0-alpha.0/modules/collections.html @@ -0,0 +1,29 @@ +collections | arangojs - v10.0.0-alpha.0

Module collections

import type {
DocumentCollection,
EdgeCollection,
} from "arangojs/collections"; +
+

The "collections" module provides collection related types and interfaces +for TypeScript.

+

Index

Enumerations

Interfaces

Type Aliases

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/connection.html b/10.0.0-alpha.0/modules/connection.html new file mode 100644 index 000000000..b373246fc --- /dev/null +++ b/10.0.0-alpha.0/modules/connection.html @@ -0,0 +1,13 @@ +connection | arangojs - v10.0.0-alpha.0

Module connection

import type { Config } from "arangojs/connection";
+
+

The "connection" module provides connection and configuration related types +for TypeScript.

+

Index

Interfaces

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/cursors.html b/10.0.0-alpha.0/modules/cursors.html new file mode 100644 index 000000000..e671c79d6 --- /dev/null +++ b/10.0.0-alpha.0/modules/cursors.html @@ -0,0 +1,10 @@ +cursors | arangojs - v10.0.0-alpha.0

Module cursors

import type { Cursor, BatchCursor } from "arangojs/cursors";
+
+

The "cursors" module provides cursor-related types and interfaces for +TypeScript.

+

Index

Classes

Interfaces

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/databases.html b/10.0.0-alpha.0/modules/databases.html new file mode 100644 index 000000000..12e49460f --- /dev/null +++ b/10.0.0-alpha.0/modules/databases.html @@ -0,0 +1,10 @@ +databases | arangojs - v10.0.0-alpha.0

Module databases

import { Database } from "arangojs/databases";
+
+

The "databases" module provides the Database class and associated +types and interfaces for TypeScript.

+

The Database class is also re-exported by the "index" module.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/documents.html b/10.0.0-alpha.0/modules/documents.html new file mode 100644 index 000000000..7ab5e3102 --- /dev/null +++ b/10.0.0-alpha.0/modules/documents.html @@ -0,0 +1,27 @@ +documents | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/errors.html b/10.0.0-alpha.0/modules/errors.html new file mode 100644 index 000000000..5a75a97b7 --- /dev/null +++ b/10.0.0-alpha.0/modules/errors.html @@ -0,0 +1,14 @@ +errors | arangojs - v10.0.0-alpha.0

Module errors

import type { ArangoError, HttpError } from "arangojs/errors";
+
+

The "errors" module provides types and interfaces for TypeScript related +to arangojs error handling.

+

Index

Classes

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/foxx_manifest.html b/10.0.0-alpha.0/modules/foxx_manifest.html new file mode 100644 index 000000000..02fbbb5eb --- /dev/null +++ b/10.0.0-alpha.0/modules/foxx_manifest.html @@ -0,0 +1,10 @@ +foxx-manifest | arangojs - v10.0.0-alpha.0

Module foxx-manifest

import type { FoxxManifest } from "arangojs/foxx-manifest";
+
+

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/10.0.0-alpha.0/modules/graphs.html b/10.0.0-alpha.0/modules/graphs.html new file mode 100644 index 000000000..20e0978d7 --- /dev/null +++ b/10.0.0-alpha.0/modules/graphs.html @@ -0,0 +1,20 @@ +graphs | arangojs - v10.0.0-alpha.0

Module graphs

import type {
Graph,
GraphVertexCollection,
GraphEdgeCollection,
} from "arangojs/graphs"; +
+

The "graphs" module provides graph related types and interfaces +for TypeScript.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/hot_backups.html b/10.0.0-alpha.0/modules/hot_backups.html new file mode 100644 index 000000000..1f94e8084 --- /dev/null +++ b/10.0.0-alpha.0/modules/hot_backups.html @@ -0,0 +1,7 @@ +hot-backups | arangojs - v10.0.0-alpha.0

Module hot-backups

import type { HotBackupOptions } from "arangojs/hot-backups";
+
+

The "hot-backups" module provides types for managing hot backups.

+

Index

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/index.html b/10.0.0-alpha.0/modules/index.html new file mode 100644 index 000000000..b0145f752 --- /dev/null +++ b/10.0.0-alpha.0/modules/index.html @@ -0,0 +1,12 @@ +index | arangojs - v10.0.0-alpha.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 databases.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/10.0.0-alpha.0/modules/indexes.html b/10.0.0-alpha.0/modules/indexes.html new file mode 100644 index 000000000..b0b88de4b --- /dev/null +++ b/10.0.0-alpha.0/modules/indexes.html @@ -0,0 +1,35 @@ +indexes | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/jobs.html b/10.0.0-alpha.0/modules/jobs.html new file mode 100644 index 000000000..3d0e16910 --- /dev/null +++ b/10.0.0-alpha.0/modules/jobs.html @@ -0,0 +1,5 @@ +jobs | arangojs - v10.0.0-alpha.0

Module jobs

import type { Job } from "arangojs/jobs";
+
+

The "jobs" module provides job-related types for TypeScript.

+

Index

Classes

Job +
\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/logs.html b/10.0.0-alpha.0/modules/logs.html new file mode 100644 index 000000000..749e9d3c6 --- /dev/null +++ b/10.0.0-alpha.0/modules/logs.html @@ -0,0 +1,11 @@ +logs | arangojs - v10.0.0-alpha.0

Module logs

import type { LogLevel } from "arangojs/logs";
+
+

The "logs" module provides types for ArangoDB logs.

+

Index

Enumerations

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/queries.html b/10.0.0-alpha.0/modules/queries.html new file mode 100644 index 000000000..b6ad81d0d --- /dev/null +++ b/10.0.0-alpha.0/modules/queries.html @@ -0,0 +1,17 @@ +queries | arangojs - v10.0.0-alpha.0

Module queries

import type { QueryOptions } from "arangojs/queries";
+
+

The "query" module provides query related types for TypeScript.

+

Index

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/routes.html b/10.0.0-alpha.0/modules/routes.html new file mode 100644 index 000000000..fa3d70c39 --- /dev/null +++ b/10.0.0-alpha.0/modules/routes.html @@ -0,0 +1,6 @@ +routes | arangojs - v10.0.0-alpha.0

Module routes

import type { Route } from "arangojs/routes";
+
+

The "routes" module provides route related types and interfaces for +TypeScript.

+

Index

Classes

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/services.html b/10.0.0-alpha.0/modules/services.html new file mode 100644 index 000000000..1de625bb2 --- /dev/null +++ b/10.0.0-alpha.0/modules/services.html @@ -0,0 +1,25 @@ +services | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/transactions.html b/10.0.0-alpha.0/modules/transactions.html new file mode 100644 index 000000000..0490dee19 --- /dev/null +++ b/10.0.0-alpha.0/modules/transactions.html @@ -0,0 +1,13 @@ +transactions | arangojs - v10.0.0-alpha.0

Module transactions

import type { Transaction } from "arangojs/transactions";
+
+

The "transactions" module provides transaction related types and interfaces +for TypeScript.

+

Index

Classes

Type Aliases

Functions

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/users.html b/10.0.0-alpha.0/modules/users.html new file mode 100644 index 000000000..ce8e6e6f5 --- /dev/null +++ b/10.0.0-alpha.0/modules/users.html @@ -0,0 +1,9 @@ +users | arangojs - v10.0.0-alpha.0

Module users

import type { ArangoUser } from "arangojs/users";
+
+

The "users" module provides types for ArangoDB users.

+

Index

Type Aliases

\ No newline at end of file diff --git a/10.0.0-alpha.0/modules/views.html b/10.0.0-alpha.0/modules/views.html new file mode 100644 index 000000000..6f9bde1a5 --- /dev/null +++ b/10.0.0-alpha.0/modules/views.html @@ -0,0 +1,34 @@ +views | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.ClusterSupportInfo.html b/10.0.0-alpha.0/types/administration.ClusterSupportInfo.html new file mode 100644 index 000000000..9025e971e --- /dev/null +++ b/10.0.0-alpha.0/types/administration.ClusterSupportInfo.html @@ -0,0 +1,24 @@ +ClusterSupportInfo | arangojs - v10.0.0-alpha.0

Type alias ClusterSupportInfo

ClusterSupportInfo: {
    date: string;
    deployment: {
        agents: number;
        coordinators: number;
        dbServers: number;
        servers: Record<string, Record<string, any>>;
        shards: {
            collections: number;
            followers: number;
            leaders: number;
            realLeaders: number;
            servers: number;
            shards: number;
        };
        type: "cluster";
    };
    host: Record<string, any>;
}

Cluster deployment information for support purposes.

+

Type declaration

  • date: string

    ISO 8601 datetime string of when the information was requested.

    +
  • deployment: {
        agents: number;
        coordinators: number;
        dbServers: number;
        servers: Record<string, Record<string, any>>;
        shards: {
            collections: number;
            followers: number;
            leaders: number;
            realLeaders: number;
            servers: number;
            shards: number;
        };
        type: "cluster";
    }

    Information about the deployment.

    +
    • agents: number

      Number of agents in the cluster.

      +
    • coordinators: number

      Number of coordinators in the cluster.

      +
    • dbServers: number

      Number of DB-Servers in the cluster.

      +
    • servers: Record<string, Record<string, any>>

      Information about the servers in the cluster.

      +
    • shards: {
          collections: number;
          followers: number;
          leaders: number;
          realLeaders: number;
          servers: number;
          shards: number;
      }

      Information about the shards in the cluster.

      +
      • collections: number

        Number of collections in the cluster.

        +
      • followers: number

        Number of followers in the cluster.

        +
      • leaders: number

        Number of leaders in the cluster.

        +
      • realLeaders: number

        Number of real leaders in the cluster.

        +
      • servers: number

        Number of servers in the cluster.

        +
      • shards: number

        Number of shards in the cluster.

        +
    • type: "cluster"

      Deployment mode:

      +
        +
      • "single": A single server deployment.

        +
      • +
      • "cluster": A cluster deployment.

        +
      • +
      +
  • host: Record<string, any>

    (Cluster only.) Information about the ArangoDB instance as well as the +host machine.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.EngineInfo.html b/10.0.0-alpha.0/types/administration.EngineInfo.html new file mode 100644 index 000000000..85da324f1 --- /dev/null +++ b/10.0.0-alpha.0/types/administration.EngineInfo.html @@ -0,0 +1,8 @@ +EngineInfo | arangojs - v10.0.0-alpha.0
EngineInfo: {
    endianness?: "little" | "big";
    name: string;
    supports?: {
        aliases?: {
            indexes?: Record<string, string>;
        };
        indexes?: string[];
    };
}

Information about the storage engine.

+

Type declaration

  • Optional endianness?: "little" | "big"

    Endianness of the storage engine.

    +
  • name: string

    Name of the storage engine.

    +
  • Optional supports?: {
        aliases?: {
            indexes?: Record<string, string>;
        };
        indexes?: string[];
    }

    Features supported by the storage engine.

    +
    • Optional aliases?: {
          indexes?: Record<string, string>;
      }

      Aliases supported by the storage engine.

      +
      • Optional indexes?: Record<string, string>

        Index type aliases supported by the storage engine.

        +
    • Optional indexes?: string[]

      Index types supported by the storage engine.

      +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.ServerAvailability.html b/10.0.0-alpha.0/types/administration.ServerAvailability.html new file mode 100644 index 000000000..943b1e2fa --- /dev/null +++ b/10.0.0-alpha.0/types/administration.ServerAvailability.html @@ -0,0 +1,10 @@ +ServerAvailability | arangojs - v10.0.0-alpha.0

Type alias ServerAvailability

ServerAvailability: "default" | "readonly" | false

Server availability.

+
    +
  • "default": The server is operational.

    +
  • +
  • "readonly": The server is in read-only mode.

    +
  • +
  • false: The server is not available.

    +
  • +
+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.ServerStatusInformation.html b/10.0.0-alpha.0/types/administration.ServerStatusInformation.html new file mode 100644 index 000000000..b221b1399 --- /dev/null +++ b/10.0.0-alpha.0/types/administration.ServerStatusInformation.html @@ -0,0 +1,41 @@ +ServerStatusInformation | arangojs - v10.0.0-alpha.0

Type alias ServerStatusInformation

ServerStatusInformation: {
    address?: string;
    agency?: {
        agencyComm: {
            endpoints: string[];
        };
    };
    agent?: {
        endpoint: string;
        id: string;
        leaderId: string;
        leading: boolean;
        term: number;
    };
    coordinator?: {
        foxxmaster: string[];
        isFoxxmaster: boolean[];
    };
    foxxApi: boolean;
    host: string;
    hostname?: string;
    license: "community" | "enterprise";
    mode: "server" | "console";
    operationMode: "server" | "console";
    pid: number;
    server: "arango";
    serverInfo: {
        maintenance: boolean;
        persistedId?: string;
        progress: {
            feature: string;
            phase: string;
            recoveryTick: number;
        };
        readOnly: boolean;
        rebootId?: number;
        role: "SINGLE" | "COORDINATOR" | "PRIMARY" | "AGENT";
        serverId?: string;
        state?: "STARTUP" | "SERVING" | "SHUTDOWN";
        version: string;
        writeOpsEnabled: boolean;
    };
}

Information about the server status.

+

Type declaration

  • Optional address?: string

    (Cluster Coordinators and DB-Servers only.) The address of the server.

    +
  • Optional agency?: {
        agencyComm: {
            endpoints: string[];
        };
    }

    (Cluster Coordinators and DB-Servers only.) Information about the Agency.

    +
    • agencyComm: {
          endpoints: string[];
      }

      Information about the communication with the Agency.

      +
      • endpoints: string[]

        A list of possible Agency endpoints.

        +
  • Optional agent?: {
        endpoint: string;
        id: string;
        leaderId: string;
        leading: boolean;
        term: number;
    }

    (Cluster Agents only.) Information about the Agents.

    +
    • endpoint: string

      The endpoint of the queried Agent.

      +
    • id: string

      Server ID of the queried Agent.

      +
    • leaderId: string

      Server ID of the leading Agent.

      +
    • leading: boolean

      Whether the queried Agent is the leader.

      +
    • term: number

      The current term number.

      +
  • Optional coordinator?: {
        foxxmaster: string[];
        isFoxxmaster: boolean[];
    }

    (Cluster Coordinators only.) Information about the Coordinators.

    +
    • foxxmaster: string[]

      The server ID of the Coordinator that is the Foxx master.

      +
    • isFoxxmaster: boolean[]

      Whether the queried Coordinator is the Foxx master.

      +
  • foxxApi: boolean

    Whether the Foxx API is enabled.

    +
  • host: string

    A host identifier defined by the HOST or NODE_NAME environment variable, +or a fallback value using a machine identifier or the cluster/Agency address.

    +
  • Optional hostname?: string

    A hostname defined by the HOSTNAME environment variable.

    +
  • license: "community" | "enterprise"

    ArangoDB Edition.

    +
  • mode: "server" | "console"

    Server operation mode.

    +

    Deprecated

    use operationMode instead

    +
  • operationMode: "server" | "console"

    Server operation mode.

    +
  • pid: number

    The process ID of arangod.

    +
  • server: "arango"

    Server type.

    +
  • serverInfo: {
        maintenance: boolean;
        persistedId?: string;
        progress: {
            feature: string;
            phase: string;
            recoveryTick: number;
        };
        readOnly: boolean;
        rebootId?: number;
        role: "SINGLE" | "COORDINATOR" | "PRIMARY" | "AGENT";
        serverId?: string;
        state?: "STARTUP" | "SERVING" | "SHUTDOWN";
        version: string;
        writeOpsEnabled: boolean;
    }

    Information about the server status.

    +
    • maintenance: boolean

      Whether the maintenance mode is enabled.

      +
    • Optional persistedId?: string

      (Cluster only.) The persisted ID.

      +
    • progress: {
          feature: string;
          phase: string;
          recoveryTick: number;
      }

      Startup and recovery information.

      +
      • feature: string

        Internal name of the feature that is currently being prepared, started, stopped or unprepared.

        +
      • phase: string

        Name of the lifecycle phase the instance is currently in.

        +
      • recoveryTick: number

        Current recovery sequence number value.

        +
    • readOnly: boolean

      Whether writes are disabled.

      +
    • Optional rebootId?: number

      (Cluster only.) The reboot ID. Changes on every restart.

      +
    • role: "SINGLE" | "COORDINATOR" | "PRIMARY" | "AGENT"

      Either "SINGLE", "COORDINATOR", "PRIMARY" (DB-Server), or "AGENT"

      +
    • Optional serverId?: string

      (Cluster Coordinators and DB-Servers only.) The server ID.

      +
    • Optional state?: "STARTUP" | "SERVING" | "SHUTDOWN"

      (Cluster Coordinators and DB-Servers only.) Either "STARTUP", "SERVING", +or "SHUTDOWN".

      +
    • version: string

      The server version string.

      +
    • writeOpsEnabled: boolean

      Whether writes are enabled.

      +

      Deprecated

      Use readOnly instead.

      +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.SingleServerSupportInfo.html b/10.0.0-alpha.0/types/administration.SingleServerSupportInfo.html new file mode 100644 index 000000000..3ad7794d6 --- /dev/null +++ b/10.0.0-alpha.0/types/administration.SingleServerSupportInfo.html @@ -0,0 +1,11 @@ +SingleServerSupportInfo | arangojs - v10.0.0-alpha.0

Type alias SingleServerSupportInfo

SingleServerSupportInfo: {
    date: string;
    deployment: {
        type: "single";
    };
}

Single server deployment information for support purposes.

+

Type declaration

  • date: string

    ISO 8601 datetime string of when the information was requested.

    +
  • deployment: {
        type: "single";
    }

    Information about the deployment.

    +
    • type: "single"

      Deployment mode:

      +
        +
      • "single": A single server deployment.

        +
      • +
      • "cluster": A cluster deployment.

        +
      • +
      +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/administration.VersionInfo.html b/10.0.0-alpha.0/types/administration.VersionInfo.html new file mode 100644 index 000000000..4a81711b3 --- /dev/null +++ b/10.0.0-alpha.0/types/administration.VersionInfo.html @@ -0,0 +1,6 @@ +VersionInfo | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/analyzers.AnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.AnalyzerDescription.html new file mode 100644 index 000000000..32f8bc1e7 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.AnalyzerDescription.html @@ -0,0 +1,2 @@ +AnalyzerDescription | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.AnalyzerFeature.html b/10.0.0-alpha.0/types/analyzers.AnalyzerFeature.html new file mode 100644 index 000000000..4613dc993 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.AnalyzerFeature.html @@ -0,0 +1,2 @@ +AnalyzerFeature | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/analyzers.AnalyzerType.html b/10.0.0-alpha.0/types/analyzers.AnalyzerType.html new file mode 100644 index 000000000..300ab7546 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.AnalyzerType.html @@ -0,0 +1,2 @@ +AnalyzerType | arangojs - v10.0.0-alpha.0

Type alias AnalyzerType

AnalyzerType: AnalyzerDescription["type"]

Type of an Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.AqlAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.AqlAnalyzerDescription.html new file mode 100644 index 000000000..e86a20f45 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.AqlAnalyzerDescription.html @@ -0,0 +1,2 @@ +AqlAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias AqlAnalyzerDescription

AqlAnalyzerDescription: AnalyzerDescriptionType<"aql", {
    batchSize: number;
    collapsePositions: boolean;
    keepNull: boolean;
    memoryLimit: number;
    queryString: string;
    returnType: AqlReturnTokenType;
}>

An object describing an AQL Analyzer

+

Type declaration

  • batchSize: number
  • collapsePositions: boolean
  • keepNull: boolean
  • memoryLimit: number
  • queryString: string
  • returnType: AqlReturnTokenType
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.AqlReturnTokenType.html b/10.0.0-alpha.0/types/analyzers.AqlReturnTokenType.html new file mode 100644 index 000000000..c030fdb7e --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.AqlReturnTokenType.html @@ -0,0 +1,2 @@ +AqlReturnTokenType | arangojs - v10.0.0-alpha.0

Type alias AqlReturnTokenType

AqlReturnTokenType: "string" | "number" | "bool"

Token data type for an AQL Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CaseConversion.html b/10.0.0-alpha.0/types/analyzers.CaseConversion.html new file mode 100644 index 000000000..f09b15e8d --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CaseConversion.html @@ -0,0 +1,2 @@ +CaseConversion | arangojs - v10.0.0-alpha.0

Type alias CaseConversion

CaseConversion: "lower" | "upper" | "none"

Text case conversion type.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.ClassificationAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.ClassificationAnalyzerDescription.html new file mode 100644 index 000000000..33c0d6749 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.ClassificationAnalyzerDescription.html @@ -0,0 +1,2 @@ +ClassificationAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias ClassificationAnalyzerDescription

ClassificationAnalyzerDescription: AnalyzerDescriptionType<"classification", {
    model_location: string;
    threshold: number;
    top_k: number;
}>

(Enterprise Edition only.) An object describing a Classification Analyzer

+

Type declaration

  • model_location: string
  • threshold: number
  • top_k: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CollationAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.CollationAnalyzerDescription.html new file mode 100644 index 000000000..864bed939 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CollationAnalyzerDescription.html @@ -0,0 +1,2 @@ +CollationAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias CollationAnalyzerDescription

CollationAnalyzerDescription: AnalyzerDescriptionType<"collation", {
    locale: string;
}>

An object describing a Collation Analyzer

+

Type declaration

  • locale: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateAnalyzerOptions.html new file mode 100644 index 000000000..68b72d4c8 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateAnalyzerOptions | arangojs - v10.0.0-alpha.0
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateAqlAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateAqlAnalyzerOptions.html new file mode 100644 index 000000000..00dc83941 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateAqlAnalyzerOptions.html @@ -0,0 +1,14 @@ +CreateAqlAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateAqlAnalyzerOptions

CreateAqlAnalyzerOptions: CreateAnalyzerOptionsType<"aql", {
    batchSize?: number;
    collapsePositions?: boolean;
    keepNull?: boolean;
    memoryLimit?: number;
    queryString: string;
    returnType?: AqlReturnTokenType;
}>

Options for creating an AQL Analyzer

+

Type declaration

  • 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?: AqlReturnTokenType

    Data type of the returned tokens.

    +

    Default: "string"

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateClassificationAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateClassificationAnalyzerOptions.html new file mode 100644 index 000000000..1342ced23 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateClassificationAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateClassificationAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateClassificationAnalyzerOptions

CreateClassificationAnalyzerOptions: CreateAnalyzerOptionsType<"classification", {
    model_location: string;
    threshold?: number;
    top_k?: number;
}>

(Enterprise Edition only.) Options for creating a Classification Analyzer

+

Type declaration

  • 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

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateCollationAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateCollationAnalyzerOptions.html new file mode 100644 index 000000000..8264302a6 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateCollationAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateCollationAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateCollationAnalyzerOptions

CreateCollationAnalyzerOptions: CreateAnalyzerOptionsType<"collation", {
    locale: string;
}>

Options for creating a Collation Analyzer

+

Type declaration

  • locale: string

    Text locale.

    +

    Format: language[_COUNTRY][.encoding][@variant]

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateDelimiterAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateDelimiterAnalyzerOptions.html new file mode 100644 index 000000000..9a6b67676 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateDelimiterAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateDelimiterAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateDelimiterAnalyzerOptions

CreateDelimiterAnalyzerOptions: CreateAnalyzerOptionsType<"delimiter", string | {
    delimiter: string;
}>

Options for creating a Delimiter Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateGeoJsonAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateGeoJsonAnalyzerOptions.html new file mode 100644 index 000000000..ddb54eaeb --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateGeoJsonAnalyzerOptions.html @@ -0,0 +1,9 @@ +CreateGeoJsonAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateGeoJsonAnalyzerOptions

CreateGeoJsonAnalyzerOptions: CreateAnalyzerOptionsType<"geojson", {
    options?: {
        maxCells?: number;
        maxLevel?: number;
        minLevel?: number;
    };
    type?: GeoType;
}>

Options for creating a GeoJSON Analyzer

+

Type declaration

  • 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?: GeoType

    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"

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateGeoPointAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateGeoPointAnalyzerOptions.html new file mode 100644 index 000000000..ffb3b3247 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateGeoPointAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateGeoPointAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateGeoPointAnalyzerOptions

CreateGeoPointAnalyzerOptions: CreateAnalyzerOptionsType<"geopoint", {
    latitude?: string[];
    longitude?: string[];
    options?: {
        maxLevel?: number;
        minCells?: number;
        minLevel?: number;
    };
}>

Options for creating a GeoPoint Analyzer

+

Type declaration

  • 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
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateGeoS2AnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateGeoS2AnalyzerOptions.html new file mode 100644 index 000000000..3e9619148 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateGeoS2AnalyzerOptions.html @@ -0,0 +1,16 @@ +CreateGeoS2AnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateGeoS2AnalyzerOptions

CreateGeoS2AnalyzerOptions: CreateAnalyzerOptionsType<"geo_s2", {
    format?: GeoS2Format;
    options?: {
        maxCells?: number;
        maxLevel?: number;
        minLevel?: number;
    };
    type?: GeoType;
}>

(Enterprise Edition only.) Options for creating a Geo S2 Analyzer

+

Type declaration

  • Optional format?: GeoS2Format

    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?: GeoType

    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"

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateIdentityAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateIdentityAnalyzerOptions.html new file mode 100644 index 000000000..0af810d73 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateIdentityAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateIdentityAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateIdentityAnalyzerOptions

CreateIdentityAnalyzerOptions: CreateAnalyzerOptionsType<"identity">

Options for creating an Identity Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateMinHashAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateMinHashAnalyzerOptions.html new file mode 100644 index 000000000..ff7adf75e --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateMinHashAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateMinHashAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateMinHashAnalyzerOptions

CreateMinHashAnalyzerOptions: CreateAnalyzerOptionsType<"minhash", {
    analyzer: Omit<CreateAnalyzerOptions, "features">;
    numHashes: number;
}>

(Enterprise Edition only.) Options for creating a MinHash Analyzer

+

Type declaration

  • analyzer: Omit<CreateAnalyzerOptions, "features">

    An Analyzer definition-like object with type and properties attributes.

    +
  • numHashes: number

    Size of the MinHash signature.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html new file mode 100644 index 000000000..e5b53956c --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateMultiDelimiterAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateMultiDelimiterAnalyzerOptions

CreateMultiDelimiterAnalyzerOptions: CreateAnalyzerOptionsType<"multi_delimiter", {
    delimiters: string[];
}>

Options for creating a Multi-Delimiter Analyzer.

+

Type declaration

  • delimiters: string[]

    This value will be used as delimiter to split text into tokens as +specified in RFC 4180, without starting new records on newlines.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html new file mode 100644 index 000000000..59986b1fb --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateNearestNeighborsAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateNearestNeighborsAnalyzerOptions

CreateNearestNeighborsAnalyzerOptions: CreateAnalyzerOptionsType<"nearest_neighbors", {
    model_location: string;
    top_k?: number;
}>

(Enterprise Edition only.) Options for creating a NearestNeighbors Analyzer.

+

Type declaration

  • 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

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateNgramAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateNgramAnalyzerOptions.html new file mode 100644 index 000000000..b32a76166 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateNgramAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateNgramAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateNgramAnalyzerOptions

CreateNgramAnalyzerOptions: CreateAnalyzerOptionsType<"ngram", {
    max: number;
    min: number;
    preserveOriginal: boolean;
}>

Options for creating an Ngram Analyzer.

+

Type declaration

  • max: number

    Maximum n-gram length.

    +
  • min: number

    Minimum n-gram length.

    +
  • preserveOriginal: boolean

    Output the original value as well.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateNormAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateNormAnalyzerOptions.html new file mode 100644 index 000000000..b1e5a7e19 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateNormAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateNormAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateNormAnalyzerOptions

CreateNormAnalyzerOptions: CreateAnalyzerOptionsType<"norm", {
    accent?: boolean;
    case?: CaseConversion;
    locale: string;
}>

Options for creating a Norm Analyzer.

+

Type declaration

  • Optional accent?: boolean

    Preserve accents in returned words.

    +

    Default: false

    +
  • Optional case?: CaseConversion

    Case conversion.

    +

    Default: "lower"

    +
  • locale: string

    Text locale.

    +

    Format: language[_COUNTRY][.encoding][@variant]

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreatePipelineAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreatePipelineAnalyzerOptions.html new file mode 100644 index 000000000..160a32dc8 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreatePipelineAnalyzerOptions.html @@ -0,0 +1,3 @@ +CreatePipelineAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreatePipelineAnalyzerOptions

CreatePipelineAnalyzerOptions: CreateAnalyzerOptionsType<"pipeline", {
    pipeline: Omit<CreateAnalyzerOptions, "features">[];
}>

Options for creating a Pipeline Analyzer

+

Type declaration

  • pipeline: Omit<CreateAnalyzerOptions, "features">[]

    Definitions for Analyzers to chain in this Pipeline Analyzer.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateSegmentationAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateSegmentationAnalyzerOptions.html new file mode 100644 index 000000000..044df5c04 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateSegmentationAnalyzerOptions.html @@ -0,0 +1,6 @@ +CreateSegmentationAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateSegmentationAnalyzerOptions

CreateSegmentationAnalyzerOptions: CreateAnalyzerOptionsType<"segmentation", {
    break?: SegmentationTokenType;
    case?: CaseConversion;
}>

Options for creating a Segmentation Analyzer

+

Type declaration

  • Optional break?: SegmentationTokenType

    Which tokens should be returned.

    +

    Default: "alpha"

    +
  • Optional case?: CaseConversion

    What case all returned tokens should be converted to if applicable.

    +

    Default: "none"

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateStemAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateStemAnalyzerOptions.html new file mode 100644 index 000000000..89691b7bc --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateStemAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateStemAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateStemAnalyzerOptions

CreateStemAnalyzerOptions: CreateAnalyzerOptionsType<"stem", {
    locale: string;
}>

Options for creating a Stem Analyzer.

+

Type declaration

  • locale: string

    Text locale.

    +

    Format: language[_COUNTRY][.encoding][@variant]

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateStopwordsAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateStopwordsAnalyzerOptions.html new file mode 100644 index 000000000..7ff6d4f7c --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateStopwordsAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateStopwordsAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateStopwordsAnalyzerOptions

CreateStopwordsAnalyzerOptions: CreateAnalyzerOptionsType<"stopwords", {
    hex?: boolean;
    stopwords: string[];
}>

Options for creating a Stopwords Analyzer

+

Type declaration

  • 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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateTextAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateTextAnalyzerOptions.html new file mode 100644 index 000000000..fb8eae626 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateTextAnalyzerOptions.html @@ -0,0 +1,17 @@ +CreateTextAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateTextAnalyzerOptions

CreateTextAnalyzerOptions: CreateAnalyzerOptionsType<"text", {
    accent?: boolean;
    case?: CaseConversion;
    edgeNgram?: {
        max?: number;
        min?: number;
        preserveOriginal?: boolean;
    };
    locale: string;
    stemming?: boolean;
    stopwords?: string[];
    stopwordsPath?: string;
}>

Options for creating a Text Analyzer.

+

Type declaration

  • Optional accent?: boolean

    Preserve accents in returned words.

    +

    Default: false

    +
  • Optional case?: CaseConversion

    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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.CreateWildcardAnalyzerOptions.html b/10.0.0-alpha.0/types/analyzers.CreateWildcardAnalyzerOptions.html new file mode 100644 index 000000000..0ed042d79 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.CreateWildcardAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateWildcardAnalyzerOptions | arangojs - v10.0.0-alpha.0

Type alias CreateWildcardAnalyzerOptions

CreateWildcardAnalyzerOptions: CreateAnalyzerOptionsType<"wildcard", {
    analyzer?: Omit<CreateAnalyzerOptions, "features">;
    ngramSize: string;
}>

Options for creating a Wildcard Analyzer.

+

Type declaration

  • 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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.DelimiterAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.DelimiterAnalyzerDescription.html new file mode 100644 index 000000000..b7213e331 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.DelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +DelimiterAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias DelimiterAnalyzerDescription

DelimiterAnalyzerDescription: AnalyzerDescriptionType<"delimiter", {
    delimiter: string;
}>

An object describing a Delimiter Analyzer.

+

Type declaration

  • delimiter: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.GeoJsonAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.GeoJsonAnalyzerDescription.html new file mode 100644 index 000000000..298fcd4d2 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.GeoJsonAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoJsonAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias GeoJsonAnalyzerDescription

GeoJsonAnalyzerDescription: AnalyzerDescriptionType<"geojson", {
    description: {
        maxCells: number;
        maxLevel: number;
        minLevel: number;
    };
    type: GeoType;
}>

An object describing a GeoJSON Analyzer

+

Type declaration

  • description: {
        maxCells: number;
        maxLevel: number;
        minLevel: number;
    }
    • maxCells: number
    • maxLevel: number
    • minLevel: number
  • type: GeoType
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.GeoPointAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.GeoPointAnalyzerDescription.html new file mode 100644 index 000000000..335f88f68 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.GeoPointAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoPointAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias GeoPointAnalyzerDescription

GeoPointAnalyzerDescription: AnalyzerDescriptionType<"geopoint", {
    description: {
        maxLevel: number;
        minCells: number;
        minLevel: number;
    };
    latitude: string[];
    longitude: string[];
}>

An object describing a GeoPoint Analyzer

+

Type declaration

  • description: {
        maxLevel: number;
        minCells: number;
        minLevel: number;
    }
    • maxLevel: number
    • minCells: number
    • minLevel: number
  • latitude: string[]
  • longitude: string[]
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.GeoS2AnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.GeoS2AnalyzerDescription.html new file mode 100644 index 000000000..28f65f60f --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.GeoS2AnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoS2AnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias GeoS2AnalyzerDescription

GeoS2AnalyzerDescription: AnalyzerDescriptionType<"geo_s2", {
    description: {
        maxCells: number;
        maxLevel: number;
        minLevel: number;
    };
    format: GeoS2Format;
    type: GeoType;
}>

(Enterprise Edition only.) An object describing a GeoS2 Analyzer

+

Type declaration

  • description: {
        maxCells: number;
        maxLevel: number;
        minLevel: number;
    }
    • maxCells: number
    • maxLevel: number
    • minLevel: number
  • format: GeoS2Format
  • type: GeoType
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.GeoS2Format.html b/10.0.0-alpha.0/types/analyzers.GeoS2Format.html new file mode 100644 index 000000000..8bbe08cc6 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.GeoS2Format.html @@ -0,0 +1,2 @@ +GeoS2Format | arangojs - v10.0.0-alpha.0

Type alias GeoS2Format

GeoS2Format: "latLngDouble" | "latLngInt" | "s2Point"

Storage format of a Geo S2 Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.GeoType.html b/10.0.0-alpha.0/types/analyzers.GeoType.html new file mode 100644 index 000000000..b8646595f --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.GeoType.html @@ -0,0 +1,2 @@ +GeoType | arangojs - v10.0.0-alpha.0

Type alias GeoType

GeoType: "shape" | "centroid" | "point"

GeoJSON type.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.IdentityAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.IdentityAnalyzerDescription.html new file mode 100644 index 000000000..decf029e2 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.IdentityAnalyzerDescription.html @@ -0,0 +1,2 @@ +IdentityAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias IdentityAnalyzerDescription

IdentityAnalyzerDescription: AnalyzerDescriptionType<"identity">

An object describing an Identity Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.MinHashAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.MinHashAnalyzerDescription.html new file mode 100644 index 000000000..8d68193b4 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.MinHashAnalyzerDescription.html @@ -0,0 +1,2 @@ +MinHashAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias MinHashAnalyzerDescription

MinHashAnalyzerDescription: AnalyzerDescriptionType<"minhash", {
    analyzer: Omit<AnalyzerDescription, "name" | "features">;
    numHashes: number;
}>

(Enterprise Edition only.) An object describing a MinHash Analyzer

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.MultiDelimiterAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.MultiDelimiterAnalyzerDescription.html new file mode 100644 index 000000000..ad0f06ade --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.MultiDelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +MultiDelimiterAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias MultiDelimiterAnalyzerDescription

MultiDelimiterAnalyzerDescription: AnalyzerDescriptionType<"multi_delimiter", {
    delimiters: string[];
}>

An object describing a Multi Delimiter Analyzer.

+

Type declaration

  • delimiters: string[]
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.NearestNeighborsAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.NearestNeighborsAnalyzerDescription.html new file mode 100644 index 000000000..ce04a2a3f --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.NearestNeighborsAnalyzerDescription.html @@ -0,0 +1,2 @@ +NearestNeighborsAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias NearestNeighborsAnalyzerDescription

NearestNeighborsAnalyzerDescription: AnalyzerDescriptionType<"nearest_neighbors", {
    model_location: string;
    top_k: number;
}>

(Enterprise Edition only.) An object describing a NearestNeighbors Analyzer

+

Type declaration

  • model_location: string
  • top_k: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.NgramAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.NgramAnalyzerDescription.html new file mode 100644 index 000000000..bef02e9f6 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.NgramAnalyzerDescription.html @@ -0,0 +1,2 @@ +NgramAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias NgramAnalyzerDescription

NgramAnalyzerDescription: AnalyzerDescriptionType<"ngram", {
    max: number;
    min: number;
    preserveOriginal: boolean;
}>

An object describing an Ngram Analyzer.

+

Type declaration

  • max: number
  • min: number
  • preserveOriginal: boolean
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.NormAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.NormAnalyzerDescription.html new file mode 100644 index 000000000..f98231231 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.NormAnalyzerDescription.html @@ -0,0 +1,2 @@ +NormAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias NormAnalyzerDescription

NormAnalyzerDescription: AnalyzerDescriptionType<"norm", {
    accent: boolean;
    case: CaseConversion;
    locale: string;
}>

An object describing a Norm Analyzer.

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.PipelineAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.PipelineAnalyzerDescription.html new file mode 100644 index 000000000..afc9153d6 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.PipelineAnalyzerDescription.html @@ -0,0 +1,2 @@ +PipelineAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias PipelineAnalyzerDescription

PipelineAnalyzerDescription: AnalyzerDescriptionType<"pipeline", {
    pipeline: Omit<AnalyzerDescription, "name" | "features">[];
}>

An object describing a Pipeline Analyzer

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.SegmentationAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.SegmentationAnalyzerDescription.html new file mode 100644 index 000000000..d72dd20db --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.SegmentationAnalyzerDescription.html @@ -0,0 +1,2 @@ +SegmentationAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias SegmentationAnalyzerDescription

SegmentationAnalyzerDescription: AnalyzerDescriptionType<"segmentation", {
    break: SegmentationTokenType;
    case: CaseConversion;
}>

An object describing a Segmentation Analyzer

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.SegmentationTokenType.html b/10.0.0-alpha.0/types/analyzers.SegmentationTokenType.html new file mode 100644 index 000000000..c159ec0c1 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.SegmentationTokenType.html @@ -0,0 +1,2 @@ +SegmentationTokenType | arangojs - v10.0.0-alpha.0

Type alias SegmentationTokenType

SegmentationTokenType: "all" | "alpha" | "graphic"

Token type for a Segmentation Analyzer.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.StemAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.StemAnalyzerDescription.html new file mode 100644 index 000000000..e088e282b --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.StemAnalyzerDescription.html @@ -0,0 +1,2 @@ +StemAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias StemAnalyzerDescription

StemAnalyzerDescription: AnalyzerDescriptionType<"stem", {
    locale: string;
}>

An object describing a Stem Analyzer.

+

Type declaration

  • locale: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.StopwordsAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.StopwordsAnalyzerDescription.html new file mode 100644 index 000000000..3b491773d --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.StopwordsAnalyzerDescription.html @@ -0,0 +1,2 @@ +StopwordsAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias StopwordsAnalyzerDescription

StopwordsAnalyzerDescription: AnalyzerDescriptionType<"stopwords", {
    hex: boolean;
    stopwords: string[];
}>

An object describing a Stopwords Analyzer

+

Type declaration

  • hex: boolean
  • stopwords: string[]
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.TextAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.TextAnalyzerDescription.html new file mode 100644 index 000000000..9e80f7b95 --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.TextAnalyzerDescription.html @@ -0,0 +1,2 @@ +TextAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias TextAnalyzerDescription

TextAnalyzerDescription: AnalyzerDescriptionType<"text", {
    accent: boolean;
    case: CaseConversion;
    edgeNgram: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    };
    locale: string;
    stemming: boolean;
    stopwords: string[];
    stopwordsPath: string;
}>

An object describing a Text Analyzer.

+

Type declaration

  • accent: boolean
  • case: CaseConversion
  • edgeNgram: {
        max: number;
        min: number;
        preserveOriginal: boolean;
    }
    • max: number
    • min: number
    • preserveOriginal: boolean
  • locale: string
  • stemming: boolean
  • stopwords: string[]
  • stopwordsPath: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/analyzers.WildcardAnalyzerDescription.html b/10.0.0-alpha.0/types/analyzers.WildcardAnalyzerDescription.html new file mode 100644 index 000000000..baa14acde --- /dev/null +++ b/10.0.0-alpha.0/types/analyzers.WildcardAnalyzerDescription.html @@ -0,0 +1,2 @@ +WildcardAnalyzerDescription | arangojs - v10.0.0-alpha.0

Type alias WildcardAnalyzerDescription

WildcardAnalyzerDescription: AnalyzerDescriptionType<"wildcard", {
    analyzer?: Omit<AnalyzerDescription, "name" | "features">;
    ngramSize: number;
}>

An object describing a Wildcard Analyzer

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/aql.AqlValue.html b/10.0.0-alpha.0/types/aql.AqlValue.html new file mode 100644 index 000000000..28c8a8bef --- /dev/null +++ b/10.0.0-alpha.0/types/aql.AqlValue.html @@ -0,0 +1,3 @@ +AqlValue | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/cluster.ClusterImbalanceInfo.html b/10.0.0-alpha.0/types/cluster.ClusterImbalanceInfo.html new file mode 100644 index 000000000..094c1ac14 --- /dev/null +++ b/10.0.0-alpha.0/types/cluster.ClusterImbalanceInfo.html @@ -0,0 +1,18 @@ +ClusterImbalanceInfo | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/cluster.ClusterRebalanceMove.html b/10.0.0-alpha.0/types/cluster.ClusterRebalanceMove.html new file mode 100644 index 000000000..54202eef2 --- /dev/null +++ b/10.0.0-alpha.0/types/cluster.ClusterRebalanceMove.html @@ -0,0 +1,6 @@ +ClusterRebalanceMove | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/cluster.ClusterRebalanceOptions.html b/10.0.0-alpha.0/types/cluster.ClusterRebalanceOptions.html new file mode 100644 index 000000000..4335c933b --- /dev/null +++ b/10.0.0-alpha.0/types/cluster.ClusterRebalanceOptions.html @@ -0,0 +1,15 @@ +ClusterRebalanceOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/cluster.ClusterRebalanceResult.html b/10.0.0-alpha.0/types/cluster.ClusterRebalanceResult.html new file mode 100644 index 000000000..b13cfdfe5 --- /dev/null +++ b/10.0.0-alpha.0/types/cluster.ClusterRebalanceResult.html @@ -0,0 +1,5 @@ +ClusterRebalanceResult | arangojs - v10.0.0-alpha.0

Type alias ClusterRebalanceResult

ClusterRebalanceResult: {
    imbalanceAfter: ClusterImbalanceInfo;
    imbalanceBefore: ClusterImbalanceInfo;
    moves: ClusterRebalanceMove[];
}

The result of a cluster rebalance.

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/cluster.ClusterRebalanceState.html b/10.0.0-alpha.0/types/cluster.ClusterRebalanceState.html new file mode 100644 index 000000000..01377062f --- /dev/null +++ b/10.0.0-alpha.0/types/cluster.ClusterRebalanceState.html @@ -0,0 +1,4 @@ +ClusterRebalanceState | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionChecksumOptions.html b/10.0.0-alpha.0/types/collections.CollectionChecksumOptions.html new file mode 100644 index 000000000..82c6a1356 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionChecksumOptions.html @@ -0,0 +1,8 @@ +CollectionChecksumOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionDescription.html b/10.0.0-alpha.0/types/collections.CollectionDescription.html new file mode 100644 index 000000000..559be5dc5 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionDescription.html @@ -0,0 +1,6 @@ +CollectionDescription | arangojs - v10.0.0-alpha.0

Type alias CollectionDescription

CollectionDescription: {
    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/10.0.0-alpha.0/types/collections.CollectionDropOptions.html b/10.0.0-alpha.0/types/collections.CollectionDropOptions.html new file mode 100644 index 000000000..658d033f2 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionDropOptions.html @@ -0,0 +1,6 @@ +CollectionDropOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionKeyOptions.html b/10.0.0-alpha.0/types/collections.CollectionKeyOptions.html new file mode 100644 index 000000000..8e1365e48 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionKeyOptions.html @@ -0,0 +1,8 @@ +CollectionKeyOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionKeyProperties.html b/10.0.0-alpha.0/types/collections.CollectionKeyProperties.html new file mode 100644 index 000000000..5d8875a19 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionKeyProperties.html @@ -0,0 +1,7 @@ +CollectionKeyProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionProperties.html b/10.0.0-alpha.0/types/collections.CollectionProperties.html new file mode 100644 index 000000000..4b8d99aaf --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionProperties.html @@ -0,0 +1,25 @@ +CollectionProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CollectionPropertiesOptions.html b/10.0.0-alpha.0/types/collections.CollectionPropertiesOptions.html new file mode 100644 index 000000000..ef0fd5a38 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionPropertiesOptions.html @@ -0,0 +1,14 @@ +CollectionPropertiesOptions | arangojs - v10.0.0-alpha.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

    If set to true, data will be synchronized to disk before returning from +a document create, update, replace or removal operation.

    +

    Default: false

    +
  • Optional writeConcern?: number

    (Cluster only.) Write concern for this collection.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/collections.CollectionTruncateOptions.html b/10.0.0-alpha.0/types/collections.CollectionTruncateOptions.html new file mode 100644 index 000000000..616880e8c --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CollectionTruncateOptions.html @@ -0,0 +1,5 @@ +CollectionTruncateOptions | arangojs - v10.0.0-alpha.0

Type alias CollectionTruncateOptions

CollectionTruncateOptions: {
    compact?: boolean;
    waitForSync?: boolean;
}

Options for truncating collections.

+

Type declaration

  • Optional compact?: boolean

    Whether the collection should be compacted after truncation.

    +
  • Optional waitForSync?: boolean

    Whether data should be synchronized to disk before returning from this +operation.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/collections.ComputedValueOptions.html b/10.0.0-alpha.0/types/collections.ComputedValueOptions.html new file mode 100644 index 000000000..87c0e5283 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.ComputedValueOptions.html @@ -0,0 +1,17 @@ +ComputedValueOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.ComputedValueProperties.html b/10.0.0-alpha.0/types/collections.ComputedValueProperties.html new file mode 100644 index 000000000..a6673cb8c --- /dev/null +++ b/10.0.0-alpha.0/types/collections.ComputedValueProperties.html @@ -0,0 +1,12 @@ +ComputedValueProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.CreateCollectionOptions.html b/10.0.0-alpha.0/types/collections.CreateCollectionOptions.html new file mode 100644 index 000000000..09becd761 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.CreateCollectionOptions.html @@ -0,0 +1,23 @@ +CreateCollectionOptions | arangojs - v10.0.0-alpha.0

Type alias CreateCollectionOptions

CreateCollectionOptions: CollectionPropertiesOptions & {
    distributeShardsLike?: string;
    enforceReplicationFactor?: boolean;
    keyOptions?: CollectionKeyOptions;
    numberOfShards?: number;
    shardKeys?: string[];
    shardingStrategy?: ShardingStrategy;
    smartGraphAttribute?: string;
    smartJoinAttribute?: string;
    waitForSyncReplication?: boolean;
}

Type declaration

  • 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 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 waitForSyncReplication?: boolean

    (Cluster only.) Unless set to false, the server will wait for all +replicas to create the collection before returning.

    +

    Default: true

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/collections.KeyGenerator.html b/10.0.0-alpha.0/types/collections.KeyGenerator.html new file mode 100644 index 000000000..4df0709b9 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.KeyGenerator.html @@ -0,0 +1,2 @@ +KeyGenerator | arangojs - v10.0.0-alpha.0

Type alias KeyGenerator

KeyGenerator: "traditional" | "autoincrement" | "uuid" | "padded"

Type of key generator.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/collections.SchemaOptions.html b/10.0.0-alpha.0/types/collections.SchemaOptions.html new file mode 100644 index 000000000..6edf1899f --- /dev/null +++ b/10.0.0-alpha.0/types/collections.SchemaOptions.html @@ -0,0 +1,6 @@ +SchemaOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.SchemaProperties.html b/10.0.0-alpha.0/types/collections.SchemaProperties.html new file mode 100644 index 000000000..5c6130877 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.SchemaProperties.html @@ -0,0 +1,6 @@ +SchemaProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.ShardingStrategy.html b/10.0.0-alpha.0/types/collections.ShardingStrategy.html new file mode 100644 index 000000000..e2d9e8849 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.ShardingStrategy.html @@ -0,0 +1,2 @@ +ShardingStrategy | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.ValidationLevel.html b/10.0.0-alpha.0/types/collections.ValidationLevel.html new file mode 100644 index 000000000..a45735f09 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.ValidationLevel.html @@ -0,0 +1,9 @@ +ValidationLevel | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/collections.WriteOperation.html b/10.0.0-alpha.0/types/collections.WriteOperation.html new file mode 100644 index 000000000..7af0c3e83 --- /dev/null +++ b/10.0.0-alpha.0/types/collections.WriteOperation.html @@ -0,0 +1,2 @@ +WriteOperation | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.ArangoApiResponse.html b/10.0.0-alpha.0/types/connection.ArangoApiResponse.html new file mode 100644 index 000000000..3e82253da --- /dev/null +++ b/10.0.0-alpha.0/types/connection.ArangoApiResponse.html @@ -0,0 +1,2 @@ +ArangoApiResponse | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.ArangoResponseMetadata.html b/10.0.0-alpha.0/types/connection.ArangoResponseMetadata.html new file mode 100644 index 000000000..e93b4ec4f --- /dev/null +++ b/10.0.0-alpha.0/types/connection.ArangoResponseMetadata.html @@ -0,0 +1,4 @@ +ArangoResponseMetadata | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.BasicAuthCredentials.html b/10.0.0-alpha.0/types/connection.BasicAuthCredentials.html new file mode 100644 index 000000000..8fb1381fc --- /dev/null +++ b/10.0.0-alpha.0/types/connection.BasicAuthCredentials.html @@ -0,0 +1,4 @@ +BasicAuthCredentials | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.BearerAuthCredentials.html b/10.0.0-alpha.0/types/connection.BearerAuthCredentials.html new file mode 100644 index 000000000..714c865e2 --- /dev/null +++ b/10.0.0-alpha.0/types/connection.BearerAuthCredentials.html @@ -0,0 +1,3 @@ +BearerAuthCredentials | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.Config.html b/10.0.0-alpha.0/types/connection.Config.html new file mode 100644 index 000000000..5ece29fd7 --- /dev/null +++ b/10.0.0-alpha.0/types/connection.Config.html @@ -0,0 +1,121 @@ +Config | arangojs - v10.0.0-alpha.0

Type alias Config

Config: {
    afterResponse?: ((err, res?) => void | Promise<void>);
    arangoVersion?: number;
    auth?: BasicAuthCredentials | BearerAuthCredentials;
    beforeRequest?: ((req) => void | Promise<void>);
    credentials?: "omit" | "include" | "same-origin";
    databaseName?: string;
    headers?: Headers | Record<string, string>;
    keepalive?: boolean;
    loadBalancingStrategy?: LoadBalancingStrategy;
    maxRetries?: false | number;
    onError?: ((err) => void | Promise<void>);
    poolSize?: number;
    precaptureStackTraces?: boolean;
    responseQueueTimeSamples?: number;
    retryOnConflict?: number;
    url?: string | string[];
}

Options for configuring arangojs.

+

Type declaration

  • Optional afterResponse?: ((err, res?) => void | Promise<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 | Promise<void>
      • Parameters

        • err: NetworkError | null

          Error encountered when handling this request or null.

          +
        • Optional res: globalThis.Response & {
              request: globalThis.Request;
          }

          Response object for this request, if no error occurred.

          +

        Returns void | Promise<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 databases.Database#useBasicAuth and +databases.Database#useBearerAuth.

    +

    Default: { username: "root", password: "" }

    +
  • Optional beforeRequest?: ((req) => void | Promise<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 | Promise<void>
      • Parameters

        • req: globalThis.Request

          Request object or XHR instance used for this request.

          +

        Returns void | Promise<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 databases.Database#useBasicAuth, databases.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 onError?: ((err) => void | Promise<void>)

    Callback that will be invoked when a request

    +
      • (err): void | Promise<void>
      • Parameters

        • err: Error

          Error encountered when handling this request.

          +

        Returns void | Promise<void>

  • 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 databases.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 databases.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/10.0.0-alpha.0/types/connection.LoadBalancingStrategy.html b/10.0.0-alpha.0/types/connection.LoadBalancingStrategy.html new file mode 100644 index 000000000..11a10604d --- /dev/null +++ b/10.0.0-alpha.0/types/connection.LoadBalancingStrategy.html @@ -0,0 +1,13 @@ +LoadBalancingStrategy | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/connection.RequestOptions.html b/10.0.0-alpha.0/types/connection.RequestOptions.html new file mode 100644 index 000000000..12880752c --- /dev/null +++ b/10.0.0-alpha.0/types/connection.RequestOptions.html @@ -0,0 +1,22 @@ +RequestOptions | arangojs - v10.0.0-alpha.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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/cursors.CursorExtras.html b/10.0.0-alpha.0/types/cursors.CursorExtras.html new file mode 100644 index 000000000..6ae55fa75 --- /dev/null +++ b/10.0.0-alpha.0/types/cursors.CursorExtras.html @@ -0,0 +1,6 @@ +CursorExtras | arangojs - v10.0.0-alpha.0

Type alias CursorExtras

CursorExtras: {
    plan?: Record<string, any>;
    profile?: Record<string, number>;
    stats?: CursorStats;
    warnings: {
        code: number;
        message: string;
    }[];
}

Additional information about the cursor.

+

Type declaration

  • Optional plan?: Record<string, any>

    Query execution plan for the executed query.

    +
  • Optional profile?: Record<string, number>

    Additional profiling information for the executed query.

    +
  • Optional stats?: CursorStats

    Additional statistics about the query execution.

    +
  • warnings: {
        code: number;
        message: string;
    }[]

    Warnings encountered while executing the query.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/cursors.CursorStats.html b/10.0.0-alpha.0/types/cursors.CursorStats.html new file mode 100644 index 000000000..8f219c02f --- /dev/null +++ b/10.0.0-alpha.0/types/cursors.CursorStats.html @@ -0,0 +1,18 @@ +CursorStats | arangojs - v10.0.0-alpha.0

Type alias CursorStats

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;
}

Additional statics about the query execution of the cursor.

+

Type declaration

  • 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.

    +
  • Optional 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.

    +
  • Optional 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.

    +
  • 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/10.0.0-alpha.0/types/databases.CreateDatabaseOptions.html b/10.0.0-alpha.0/types/databases.CreateDatabaseOptions.html new file mode 100644 index 000000000..15f538d25 --- /dev/null +++ b/10.0.0-alpha.0/types/databases.CreateDatabaseOptions.html @@ -0,0 +1,12 @@ +CreateDatabaseOptions | arangojs - v10.0.0-alpha.0

Type alias CreateDatabaseOptions

CreateDatabaseOptions: {
    replicationFactor?: "satellite" | number;
    sharding?: "" | "flexible" | "single";
    users?: CreateDatabaseUserOptions[];
    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?: CreateDatabaseUserOptions[]

    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/10.0.0-alpha.0/types/databases.DatabaseDescription.html b/10.0.0-alpha.0/types/databases.DatabaseDescription.html new file mode 100644 index 000000000..b2b4addc7 --- /dev/null +++ b/10.0.0-alpha.0/types/databases.DatabaseDescription.html @@ -0,0 +1,13 @@ +DatabaseDescription | arangojs - v10.0.0-alpha.0

Type alias DatabaseDescription

DatabaseDescription: {
    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/10.0.0-alpha.0/types/documents.BulkReadDocumentsOptions.html b/10.0.0-alpha.0/types/documents.BulkReadDocumentsOptions.html new file mode 100644 index 000000000..2d94dbcbc --- /dev/null +++ b/10.0.0-alpha.0/types/documents.BulkReadDocumentsOptions.html @@ -0,0 +1,8 @@ +BulkReadDocumentsOptions | arangojs - v10.0.0-alpha.0

Type alias BulkReadDocumentsOptions

BulkReadDocumentsOptions: {
    allowDirtyRead?: boolean;
    ignoreRevs?: 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.

    +
  • 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

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/documents.Document.html b/10.0.0-alpha.0/types/documents.Document.html new file mode 100644 index 000000000..a721b487d --- /dev/null +++ b/10.0.0-alpha.0/types/documents.Document.html @@ -0,0 +1,2 @@ +Document | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.DocumentData.html b/10.0.0-alpha.0/types/documents.DocumentData.html new file mode 100644 index 000000000..502c8816e --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentData.html @@ -0,0 +1,2 @@ +DocumentData | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.DocumentEdgesOptions.html b/10.0.0-alpha.0/types/documents.DocumentEdgesOptions.html new file mode 100644 index 000000000..ad206d025 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentEdgesOptions.html @@ -0,0 +1,5 @@ +DocumentEdgesOptions | arangojs - v10.0.0-alpha.0

Type alias DocumentEdgesOptions

DocumentEdgesOptions: {
    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/10.0.0-alpha.0/types/documents.DocumentEdgesResult.html b/10.0.0-alpha.0/types/documents.DocumentEdgesResult.html new file mode 100644 index 000000000..915c83541 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentEdgesResult.html @@ -0,0 +1,2 @@ +DocumentEdgesResult | arangojs - v10.0.0-alpha.0

Type alias DocumentEdgesResult<T>

DocumentEdgesResult<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/10.0.0-alpha.0/types/documents.DocumentExistsOptions.html b/10.0.0-alpha.0/types/documents.DocumentExistsOptions.html new file mode 100644 index 000000000..d6bd69638 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentExistsOptions.html @@ -0,0 +1,9 @@ +DocumentExistsOptions | arangojs - v10.0.0-alpha.0

Type alias DocumentExistsOptions

DocumentExistsOptions: {
    allowDirtyRead?: boolean;
    ifMatch?: string;
    ifNoneMatch?: string;
}

Options for checking whether a document exists in 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 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/10.0.0-alpha.0/types/documents.DocumentMetadata.html b/10.0.0-alpha.0/types/documents.DocumentMetadata.html new file mode 100644 index 000000000..4f535efa7 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentMetadata.html @@ -0,0 +1,7 @@ +DocumentMetadata | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.DocumentOperationFailure.html b/10.0.0-alpha.0/types/documents.DocumentOperationFailure.html new file mode 100644 index 000000000..b648eaf77 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentOperationFailure.html @@ -0,0 +1,5 @@ +DocumentOperationFailure | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.DocumentOperationMetadata.html b/10.0.0-alpha.0/types/documents.DocumentOperationMetadata.html new file mode 100644 index 000000000..ce93e643c --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentOperationMetadata.html @@ -0,0 +1,3 @@ +DocumentOperationMetadata | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.DocumentSelector.html b/10.0.0-alpha.0/types/documents.DocumentSelector.html new file mode 100644 index 000000000..44ef6113b --- /dev/null +++ b/10.0.0-alpha.0/types/documents.DocumentSelector.html @@ -0,0 +1,5 @@ +DocumentSelector | arangojs - v10.0.0-alpha.0

Type alias DocumentSelector

DocumentSelector: ObjectWithDocumentId | ObjectWithDocumentKey | 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 DocumentMetadata.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/documents.Edge.html b/10.0.0-alpha.0/types/documents.Edge.html new file mode 100644 index 000000000..f57e1e47a --- /dev/null +++ b/10.0.0-alpha.0/types/documents.Edge.html @@ -0,0 +1,2 @@ +Edge | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.EdgeData.html b/10.0.0-alpha.0/types/documents.EdgeData.html new file mode 100644 index 000000000..ee53bb68a --- /dev/null +++ b/10.0.0-alpha.0/types/documents.EdgeData.html @@ -0,0 +1,2 @@ +EdgeData | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.EdgeMetadata.html b/10.0.0-alpha.0/types/documents.EdgeMetadata.html new file mode 100644 index 000000000..cfe19f4dd --- /dev/null +++ b/10.0.0-alpha.0/types/documents.EdgeMetadata.html @@ -0,0 +1,4 @@ +EdgeMetadata | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.ImportDocumentsOptions.html b/10.0.0-alpha.0/types/documents.ImportDocumentsOptions.html new file mode 100644 index 000000000..a79469cc2 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ImportDocumentsOptions.html @@ -0,0 +1,19 @@ +ImportDocumentsOptions | arangojs - v10.0.0-alpha.0

Type alias ImportDocumentsOptions

ImportDocumentsOptions: {
    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/10.0.0-alpha.0/types/documents.ImportDocumentsResult.html b/10.0.0-alpha.0/types/documents.ImportDocumentsResult.html new file mode 100644 index 000000000..0bc22f940 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ImportDocumentsResult.html @@ -0,0 +1,9 @@ +ImportDocumentsResult | arangojs - v10.0.0-alpha.0

Type alias ImportDocumentsResult

ImportDocumentsResult: {
    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/10.0.0-alpha.0/types/documents.InsertDocumentOptions.html b/10.0.0-alpha.0/types/documents.InsertDocumentOptions.html new file mode 100644 index 000000000..e14d43987 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.InsertDocumentOptions.html @@ -0,0 +1,33 @@ +InsertDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias InsertDocumentOptions

InsertDocumentOptions: {
    keepNull?: boolean;
    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 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 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/10.0.0-alpha.0/types/documents.ObjectWithDocumentId.html b/10.0.0-alpha.0/types/documents.ObjectWithDocumentId.html new file mode 100644 index 000000000..3afd19836 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ObjectWithDocumentId.html @@ -0,0 +1,3 @@ +ObjectWithDocumentId | arangojs - v10.0.0-alpha.0

Type alias ObjectWithDocumentId

ObjectWithDocumentId: {
    _id: string;
    [key: string]: any;
}

An object with an ArangoDB document _id property.

+

See DocumentMetadata.

+

Type declaration

  • [key: string]: any
  • _id: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/documents.ObjectWithDocumentKey.html b/10.0.0-alpha.0/types/documents.ObjectWithDocumentKey.html new file mode 100644 index 000000000..b5f45ef6f --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ObjectWithDocumentKey.html @@ -0,0 +1,3 @@ +ObjectWithDocumentKey | arangojs - v10.0.0-alpha.0

Type alias ObjectWithDocumentKey

ObjectWithDocumentKey: {
    _key: string;
    [key: string]: any;
}

An object with an ArangoDB document _key property.

+

See DocumentMetadata.

+

Type declaration

  • [key: string]: any
  • _key: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/documents.Patch.html b/10.0.0-alpha.0/types/documents.Patch.html new file mode 100644 index 000000000..ef47b8628 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.Patch.html @@ -0,0 +1,5 @@ +Patch | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/documents.ReadDocumentOptions.html b/10.0.0-alpha.0/types/documents.ReadDocumentOptions.html new file mode 100644 index 000000000..1214b38db --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ReadDocumentOptions.html @@ -0,0 +1,12 @@ +ReadDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias ReadDocumentOptions

ReadDocumentOptions: {
    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/10.0.0-alpha.0/types/documents.RemoveDocumentOptions.html b/10.0.0-alpha.0/types/documents.RemoveDocumentOptions.html new file mode 100644 index 000000000..f690e7c63 --- /dev/null +++ b/10.0.0-alpha.0/types/documents.RemoveDocumentOptions.html @@ -0,0 +1,16 @@ +RemoveDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias RemoveDocumentOptions

RemoveDocumentOptions: {
    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/10.0.0-alpha.0/types/documents.ReplaceDocumentOptions.html b/10.0.0-alpha.0/types/documents.ReplaceDocumentOptions.html new file mode 100644 index 000000000..cb6557a2d --- /dev/null +++ b/10.0.0-alpha.0/types/documents.ReplaceDocumentOptions.html @@ -0,0 +1,26 @@ +ReplaceDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias ReplaceDocumentOptions

ReplaceDocumentOptions: {
    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/10.0.0-alpha.0/types/documents.UpdateDocumentOptions.html b/10.0.0-alpha.0/types/documents.UpdateDocumentOptions.html new file mode 100644 index 000000000..4848d873a --- /dev/null +++ b/10.0.0-alpha.0/types/documents.UpdateDocumentOptions.html @@ -0,0 +1,33 @@ +UpdateDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias UpdateDocumentOptions

UpdateDocumentOptions: {
    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/10.0.0-alpha.0/types/foxx_manifest.Configuration.html b/10.0.0-alpha.0/types/foxx_manifest.Configuration.html new file mode 100644 index 000000000..e8bd9f228 --- /dev/null +++ b/10.0.0-alpha.0/types/foxx_manifest.Configuration.html @@ -0,0 +1,6 @@ +Configuration | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/foxx_manifest.Dependency.html b/10.0.0-alpha.0/types/foxx_manifest.Dependency.html new file mode 100644 index 000000000..df8779034 --- /dev/null +++ b/10.0.0-alpha.0/types/foxx_manifest.Dependency.html @@ -0,0 +1,7 @@ +Dependency | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/foxx_manifest.File.html b/10.0.0-alpha.0/types/foxx_manifest.File.html new file mode 100644 index 000000000..4fa3cea15 --- /dev/null +++ b/10.0.0-alpha.0/types/foxx_manifest.File.html @@ -0,0 +1,5 @@ +File | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/foxx_manifest.FoxxManifest.html b/10.0.0-alpha.0/types/foxx_manifest.FoxxManifest.html new file mode 100644 index 000000000..51e544ea4 --- /dev/null +++ b/10.0.0-alpha.0/types/foxx_manifest.FoxxManifest.html @@ -0,0 +1,20 @@ +FoxxManifest | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/graphs.AddEdgeDefinitionOptions.html b/10.0.0-alpha.0/types/graphs.AddEdgeDefinitionOptions.html new file mode 100644 index 000000000..5d56e9dc5 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.AddEdgeDefinitionOptions.html @@ -0,0 +1,4 @@ +AddEdgeDefinitionOptions | arangojs - v10.0.0-alpha.0

Type alias AddEdgeDefinitionOptions

AddEdgeDefinitionOptions: {
    satellites?: (string | ArangoCollection)[];
}

Options for adding an edge definition to a graph.

+

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/10.0.0-alpha.0/types/graphs.AddVertexCollectionOptions.html b/10.0.0-alpha.0/types/graphs.AddVertexCollectionOptions.html new file mode 100644 index 000000000..a3fe65a17 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.AddVertexCollectionOptions.html @@ -0,0 +1,4 @@ +AddVertexCollectionOptions | arangojs - v10.0.0-alpha.0

Type alias AddVertexCollectionOptions

AddVertexCollectionOptions: {
    satellites?: (string | ArangoCollection)[];
}

Options for adding a vertex collection to a graph.

+

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/10.0.0-alpha.0/types/graphs.CreateGraphOptions.html b/10.0.0-alpha.0/types/graphs.CreateGraphOptions.html new file mode 100644 index 000000000..cbc967f64 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.CreateGraphOptions.html @@ -0,0 +1,25 @@ +CreateGraphOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/graphs.EdgeDefinition.html b/10.0.0-alpha.0/types/graphs.EdgeDefinition.html new file mode 100644 index 000000000..108272de9 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.EdgeDefinition.html @@ -0,0 +1,5 @@ +EdgeDefinition | arangojs - v10.0.0-alpha.0

Type alias EdgeDefinition

EdgeDefinition: {
    collection: string;
    from: string[];
    to: string[];
}

Definition of a relation in a 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/10.0.0-alpha.0/types/graphs.EdgeDefinitionOptions.html b/10.0.0-alpha.0/types/graphs.EdgeDefinitionOptions.html new file mode 100644 index 000000000..aa44926e5 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.EdgeDefinitionOptions.html @@ -0,0 +1,5 @@ +EdgeDefinitionOptions | arangojs - v10.0.0-alpha.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.

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/graphs.GraphDescription.html b/10.0.0-alpha.0/types/graphs.GraphDescription.html new file mode 100644 index 000000000..83cc014c4 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.GraphDescription.html @@ -0,0 +1,19 @@ +GraphDescription | arangojs - v10.0.0-alpha.0

Type alias GraphDescription

GraphDescription: {
    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/10.0.0-alpha.0/types/graphs.InsertGraphDocumentOptions.html b/10.0.0-alpha.0/types/graphs.InsertGraphDocumentOptions.html new file mode 100644 index 000000000..28751a07e --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.InsertGraphDocumentOptions.html @@ -0,0 +1,7 @@ +InsertGraphDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias InsertGraphDocumentOptions

InsertGraphDocumentOptions: {
    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/10.0.0-alpha.0/types/graphs.ReadGraphDocumentOptions.html b/10.0.0-alpha.0/types/graphs.ReadGraphDocumentOptions.html new file mode 100644 index 000000000..d24bc916f --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.ReadGraphDocumentOptions.html @@ -0,0 +1,12 @@ +ReadGraphDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias ReadGraphDocumentOptions

ReadGraphDocumentOptions: {
    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/10.0.0-alpha.0/types/graphs.RemoveGraphDocumentOptions.html b/10.0.0-alpha.0/types/graphs.RemoveGraphDocumentOptions.html new file mode 100644 index 000000000..21580e36b --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.RemoveGraphDocumentOptions.html @@ -0,0 +1,10 @@ +RemoveGraphDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias RemoveGraphDocumentOptions

RemoveGraphDocumentOptions: {
    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/10.0.0-alpha.0/types/graphs.ReplaceEdgeDefinitionOptions.html b/10.0.0-alpha.0/types/graphs.ReplaceEdgeDefinitionOptions.html new file mode 100644 index 000000000..4c1569732 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.ReplaceEdgeDefinitionOptions.html @@ -0,0 +1,4 @@ +ReplaceEdgeDefinitionOptions | arangojs - v10.0.0-alpha.0

Type alias ReplaceEdgeDefinitionOptions

ReplaceEdgeDefinitionOptions: {
    satellites?: string[];
}

Options for replacing an edge definition in a graph.

+

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/10.0.0-alpha.0/types/graphs.ReplaceGraphDocumentOptions.html b/10.0.0-alpha.0/types/graphs.ReplaceGraphDocumentOptions.html new file mode 100644 index 000000000..10995e815 --- /dev/null +++ b/10.0.0-alpha.0/types/graphs.ReplaceGraphDocumentOptions.html @@ -0,0 +1,16 @@ +ReplaceGraphDocumentOptions | arangojs - v10.0.0-alpha.0

Type alias ReplaceGraphDocumentOptions

ReplaceGraphDocumentOptions: {
    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/10.0.0-alpha.0/types/hot_backups.HotBackupList.html b/10.0.0-alpha.0/types/hot_backups.HotBackupList.html new file mode 100644 index 000000000..ca56700f0 --- /dev/null +++ b/10.0.0-alpha.0/types/hot_backups.HotBackupList.html @@ -0,0 +1,2 @@ +HotBackupList | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/hot_backups.HotBackupOptions.html b/10.0.0-alpha.0/types/hot_backups.HotBackupOptions.html new file mode 100644 index 000000000..aeab0d092 --- /dev/null +++ b/10.0.0-alpha.0/types/hot_backups.HotBackupOptions.html @@ -0,0 +1,15 @@ +HotBackupOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/hot_backups.HotBackupResult.html b/10.0.0-alpha.0/types/hot_backups.HotBackupResult.html new file mode 100644 index 000000000..bfbb1cf81 --- /dev/null +++ b/10.0.0-alpha.0/types/hot_backups.HotBackupResult.html @@ -0,0 +1,2 @@ +HotBackupResult | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.ArangosearchIndexDescription.html b/10.0.0-alpha.0/types/indexes.ArangosearchIndexDescription.html new file mode 100644 index 000000000..96a74ace8 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.ArangosearchIndexDescription.html @@ -0,0 +1,2 @@ +ArangosearchIndexDescription | arangojs - v10.0.0-alpha.0

Type alias ArangosearchIndexDescription

ArangosearchIndexDescription: {
    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/10.0.0-alpha.0/types/indexes.EnsureGeoIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsureGeoIndexOptions.html new file mode 100644 index 000000000..ec301ec07 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsureGeoIndexOptions.html @@ -0,0 +1,15 @@ +EnsureGeoIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsureGeoIndexOptions

EnsureGeoIndexOptions: EnsureIndexOptionsType<"geo", [string, string] | [string], {
    geoJson?: boolean;
    legacyPolygons?: boolean;
}>

Options for creating a geo index.

+

Type declaration

  • 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.

    +

    If set to false, fields can be either an array containing two +attribute paths, the first of which will be interpreted as the latitude +and the second as the longitude, or a single attribute path for an array +containing two values, the first of which will be interpreted as the +latitude, the second as the longitude.

    +

    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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.EnsureIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsureIndexOptions.html new file mode 100644 index 000000000..0834ba373 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsureIndexOptions.html @@ -0,0 +1,2 @@ +EnsureIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsureIndexOptions

Options for creating an index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.EnsureInvertedIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsureInvertedIndexOptions.html new file mode 100644 index 000000000..f207d1961 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsureInvertedIndexOptions.html @@ -0,0 +1,53 @@ +EnsureInvertedIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsureInvertedIndexOptions

EnsureInvertedIndexOptions: EnsureIndexOptionsType<"inverted", (string | InvertedIndexFieldOptions)[], {
    analyzer?: string;
    cache?: boolean;
    cleanupIntervalStep?: number;
    commitIntervalMsec?: number;
    consolidationIntervalMsec?: number;
    consolidationPolicy?: TierConsolidationPolicy;
    features?: AnalyzerFeature[];
    includeAllFields?: boolean;
    optimizeTopK?: string[];
    parallelism?: number;
    primaryKeyCache?: boolean;
    primarySort?: InvertedIndexPrimarySortOptions;
    searchField?: boolean;
    storedValues?: InvertedIndexStoredValueOptions[];
    trackListPositions?: boolean;
    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.

    +
  • 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 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?: InvertedIndexPrimarySortOptions

    Primary sort order to optimize AQL queries using a matching sort order.

    +
  • 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

    +
  • 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/10.0.0-alpha.0/types/indexes.EnsureMdiIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsureMdiIndexOptions.html new file mode 100644 index 000000000..6f207f183 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsureMdiIndexOptions.html @@ -0,0 +1,5 @@ +EnsureMdiIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsureMdiIndexOptions

EnsureMdiIndexOptions: EnsureIndexOptionsType<"mdi", string[], {
    fieldValueTypes: "double";
    unique?: boolean;
}>

Options for creating a MDI index.

+

Type declaration

  • fieldValueTypes: "double"

    Data type of the dimension attributes.

    +
  • Optional unique?: boolean

    If set to true, a unique index will be created.

    +

    Default: false

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.EnsurePersistentIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsurePersistentIndexOptions.html new file mode 100644 index 000000000..415e26f41 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsurePersistentIndexOptions.html @@ -0,0 +1,19 @@ +EnsurePersistentIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsurePersistentIndexOptions

EnsurePersistentIndexOptions: EnsureIndexOptionsType<"persistent", string[], {
    cacheEnabled?: boolean;
    deduplicate?: boolean;
    estimates?: boolean;
    sparse?: boolean;
    storedValues?: string[];
    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

    +
  • 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.

    +
  • Optional unique?: boolean

    If set to true, a unique index will be created.

    +

    Default: false

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.EnsureTtlIndexOptions.html b/10.0.0-alpha.0/types/indexes.EnsureTtlIndexOptions.html new file mode 100644 index 000000000..f0ef3faf5 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.EnsureTtlIndexOptions.html @@ -0,0 +1,4 @@ +EnsureTtlIndexOptions | arangojs - v10.0.0-alpha.0

Type alias EnsureTtlIndexOptions

EnsureTtlIndexOptions: EnsureIndexOptionsType<"ttl", [string], {
    expireAfter: number;
}>

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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.GeoIndexDescription.html b/10.0.0-alpha.0/types/indexes.GeoIndexDescription.html new file mode 100644 index 000000000..14c9a8ca3 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.GeoIndexDescription.html @@ -0,0 +1,2 @@ +GeoIndexDescription | arangojs - v10.0.0-alpha.0

Type alias GeoIndexDescription

GeoIndexDescription: IndexDescriptionType<"geo", [string] | [string, string], {
    bestIndexedLevel: number;
    geoJson: boolean;
    legacyPolygons: boolean;
    maxNumCoverCells: number;
    worstIndexedLevel: number;
}>

An object representing a geo index.

+

Type declaration

  • bestIndexedLevel: number
  • geoJson: boolean
  • legacyPolygons: boolean
  • maxNumCoverCells: number
  • worstIndexedLevel: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.HiddenIndexDescription.html b/10.0.0-alpha.0/types/indexes.HiddenIndexDescription.html new file mode 100644 index 000000000..0989ac70e --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.HiddenIndexDescription.html @@ -0,0 +1,8 @@ +HiddenIndexDescription | arangojs - v10.0.0-alpha.0

Type alias HiddenIndexDescription

HiddenIndexDescription: (IndexDescription | InternalIndexDescription) & {
    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/10.0.0-alpha.0/types/indexes.IndexDescription.html b/10.0.0-alpha.0/types/indexes.IndexDescription.html new file mode 100644 index 000000000..700d0f4dd --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.IndexDescription.html @@ -0,0 +1,2 @@ +IndexDescription | arangojs - v10.0.0-alpha.0

Type alias IndexDescription

An object representing an index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.IndexDescriptionType.html b/10.0.0-alpha.0/types/indexes.IndexDescriptionType.html new file mode 100644 index 000000000..a8711ac79 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.IndexDescriptionType.html @@ -0,0 +1,10 @@ +IndexDescriptionType | arangojs - v10.0.0-alpha.0

Type alias IndexDescriptionType<Type, Fields, Extra>

IndexDescriptionType<Type, Fields, Extra>: {
    fields: Fields;
    figures?: Record<string, any>;
    id: string;
    name: string;
    sparse: boolean;
    type: Type;
    unique: boolean;
} & Extra

Shared attributes of all index types.

+

Type Parameters

  • Type extends string
  • Fields extends any[]
  • Extra extends {} = {}

Type declaration

  • fields: Fields

    An array of attribute paths.

    +
  • 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.

    +
  • type: Type

    Type of this index.

    +
  • unique: boolean

    Whether this index enforces uniqueness for values of its attribute paths.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.IndexSelector.html b/10.0.0-alpha.0/types/indexes.IndexSelector.html new file mode 100644 index 000000000..7c18e3bc5 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.IndexSelector.html @@ -0,0 +1,2 @@ +IndexSelector | arangojs - v10.0.0-alpha.0

Type alias IndexSelector

IndexSelector: ObjectWithIndexId | ObjectWithName | string

Index name, id or object with a name or id property.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.IndexType.html b/10.0.0-alpha.0/types/indexes.IndexType.html new file mode 100644 index 000000000..f26a89405 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.IndexType.html @@ -0,0 +1,2 @@ +IndexType | arangojs - v10.0.0-alpha.0

Type alias IndexType

IndexType: IndexDescription["type"]

Type of an index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InternalIndexDescription.html b/10.0.0-alpha.0/types/indexes.InternalIndexDescription.html new file mode 100644 index 000000000..4034409a6 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InternalIndexDescription.html @@ -0,0 +1,2 @@ +InternalIndexDescription | arangojs - v10.0.0-alpha.0

Type alias InternalIndexDescription

InternalIndexDescription: ArangosearchIndexDescription

An object representing an internal index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InternalIndexType.html b/10.0.0-alpha.0/types/indexes.InternalIndexType.html new file mode 100644 index 000000000..e0aaba817 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InternalIndexType.html @@ -0,0 +1,2 @@ +InternalIndexType | arangojs - v10.0.0-alpha.0

Type alias InternalIndexType

InternalIndexType: InternalIndexDescription["type"]

Type of an internal index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InvertedIndexDescription.html b/10.0.0-alpha.0/types/indexes.InvertedIndexDescription.html new file mode 100644 index 000000000..4879c4c7d --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexDescription.html @@ -0,0 +1,2 @@ +InvertedIndexDescription | arangojs - v10.0.0-alpha.0

Type alias InvertedIndexDescription

InvertedIndexDescription: IndexDescriptionType<"inverted", InvertedIndexField[], {
    analyzer: string;
    cache?: boolean;
    cleanupIntervalStep: number;
    commitIntervalMsec: number;
    consolidationIntervalMsec: number;
    consolidationPolicy: Required<TierConsolidationPolicy>;
    features: AnalyzerFeature[];
    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;
    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[]
  • 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
  • writeBufferActive: number
  • writeBufferIdle: number
  • writeBufferSizeMax: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InvertedIndexField.html b/10.0.0-alpha.0/types/indexes.InvertedIndexField.html new file mode 100644 index 000000000..6a44065bd --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexField.html @@ -0,0 +1,2 @@ +InvertedIndexField | arangojs - v10.0.0-alpha.0

Type alias InvertedIndexField

InvertedIndexField: {
    analyzer?: string;
    cache?: boolean;
    features?: AnalyzerFeature[];
    includeAllFields?: boolean;
    name: string;
    nested?: InvertedIndexNestedField[];
    searchField?: boolean;
    trackListPositions?: boolean;
}

An object representing a field in an inverted index.

+

Type declaration

  • Optional analyzer?: string
  • Optional cache?: boolean
  • Optional features?: AnalyzerFeature[]
  • Optional includeAllFields?: boolean
  • name: string
  • Optional nested?: InvertedIndexNestedField[]
  • Optional searchField?: boolean
  • Optional trackListPositions?: boolean
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InvertedIndexFieldOptions.html b/10.0.0-alpha.0/types/indexes.InvertedIndexFieldOptions.html new file mode 100644 index 000000000..6d384a8fa --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexFieldOptions.html @@ -0,0 +1,27 @@ +InvertedIndexFieldOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.InvertedIndexNestedField.html b/10.0.0-alpha.0/types/indexes.InvertedIndexNestedField.html new file mode 100644 index 000000000..2a2c438e1 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexNestedField.html @@ -0,0 +1,3 @@ +InvertedIndexNestedField | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.InvertedIndexNestedFieldOptions.html b/10.0.0-alpha.0/types/indexes.InvertedIndexNestedFieldOptions.html new file mode 100644 index 000000000..8979517ca --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexNestedFieldOptions.html @@ -0,0 +1,13 @@ +InvertedIndexNestedFieldOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html b/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html new file mode 100644 index 000000000..8b18eb3a6 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortFieldOptions.html @@ -0,0 +1,4 @@ +InvertedIndexPrimarySortFieldOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortOptions.html b/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortOptions.html new file mode 100644 index 000000000..302bb9f14 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexPrimarySortOptions.html @@ -0,0 +1,8 @@ +InvertedIndexPrimarySortOptions | arangojs - v10.0.0-alpha.0

Type alias InvertedIndexPrimarySortOptions

InvertedIndexPrimarySortOptions: {
    cache?: boolean;
    compression?: Compression;
    fields: InvertedIndexPrimarySortFieldOptions[];
}

Options for defining a primary sort field on an inverted index.

+

Type declaration

  • 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.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.InvertedIndexStoredValueOptions.html b/10.0.0-alpha.0/types/indexes.InvertedIndexStoredValueOptions.html new file mode 100644 index 000000000..d03c9475a --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.InvertedIndexStoredValueOptions.html @@ -0,0 +1,8 @@ +InvertedIndexStoredValueOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/indexes.ListIndexesOptions.html b/10.0.0-alpha.0/types/indexes.ListIndexesOptions.html new file mode 100644 index 000000000..28be9b1c1 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.ListIndexesOptions.html @@ -0,0 +1,9 @@ +ListIndexesOptions | arangojs - v10.0.0-alpha.0

Type alias ListIndexesOptions

ListIndexesOptions: {
    withHidden?: boolean;
    withStats?: boolean;
}

Options for listing indexes.

+

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/10.0.0-alpha.0/types/indexes.MdiIndexDescription.html b/10.0.0-alpha.0/types/indexes.MdiIndexDescription.html new file mode 100644 index 000000000..e82c5e34e --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.MdiIndexDescription.html @@ -0,0 +1,2 @@ +MdiIndexDescription | arangojs - v10.0.0-alpha.0

Type alias MdiIndexDescription

MdiIndexDescription: IndexDescriptionType<"mdi", string[], {
    fieldValueTypes: "double";
}>

An object representing a MDI index.

+

Type declaration

  • fieldValueTypes: "double"
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.ObjectWithIndexId.html b/10.0.0-alpha.0/types/indexes.ObjectWithIndexId.html new file mode 100644 index 000000000..89841fd75 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.ObjectWithIndexId.html @@ -0,0 +1,2 @@ +ObjectWithIndexId | arangojs - v10.0.0-alpha.0

Type alias ObjectWithIndexId

ObjectWithIndexId: {
    id: string;
    [key: string]: any;
}

An object with an id property.

+

Type declaration

  • [key: string]: any
  • id: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.ObjectWithName.html b/10.0.0-alpha.0/types/indexes.ObjectWithName.html new file mode 100644 index 000000000..cec15b6ed --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.ObjectWithName.html @@ -0,0 +1,2 @@ +ObjectWithName | arangojs - v10.0.0-alpha.0

Type alias ObjectWithName

ObjectWithName: {
    name: string;
    [key: string]: any;
}

An object with a name property.

+

Type declaration

  • [key: string]: any
  • name: string
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.PersistentIndexDescription.html b/10.0.0-alpha.0/types/indexes.PersistentIndexDescription.html new file mode 100644 index 000000000..8ea70eb95 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.PersistentIndexDescription.html @@ -0,0 +1,2 @@ +PersistentIndexDescription | arangojs - v10.0.0-alpha.0

Type alias PersistentIndexDescription

PersistentIndexDescription: IndexDescriptionType<"persistent", string[], {
    cacheEnabled: boolean;
    deduplicate: boolean;
    estimates: boolean;
    storedValues?: string[];
}>

An object representing a persistent index.

+

Type declaration

  • cacheEnabled: boolean
  • deduplicate: boolean
  • estimates: boolean
  • Optional storedValues?: string[]
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.PrimaryIndexDescription.html b/10.0.0-alpha.0/types/indexes.PrimaryIndexDescription.html new file mode 100644 index 000000000..d116d22e1 --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.PrimaryIndexDescription.html @@ -0,0 +1,2 @@ +PrimaryIndexDescription | arangojs - v10.0.0-alpha.0

Type alias PrimaryIndexDescription

PrimaryIndexDescription: IndexDescriptionType<"primary", string[], {
    selectivityEstimate: number;
}>

An object representing a primary index.

+

Type declaration

  • selectivityEstimate: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.SystemIndexDescription.html b/10.0.0-alpha.0/types/indexes.SystemIndexDescription.html new file mode 100644 index 000000000..1beede6ab --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.SystemIndexDescription.html @@ -0,0 +1,2 @@ +SystemIndexDescription | arangojs - v10.0.0-alpha.0

Type alias SystemIndexDescription

SystemIndexDescription: PrimaryIndexDescription

An object representing a system index.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/indexes.TtlIndexDescription.html b/10.0.0-alpha.0/types/indexes.TtlIndexDescription.html new file mode 100644 index 000000000..811f25aed --- /dev/null +++ b/10.0.0-alpha.0/types/indexes.TtlIndexDescription.html @@ -0,0 +1,2 @@ +TtlIndexDescription | arangojs - v10.0.0-alpha.0

Type alias TtlIndexDescription

TtlIndexDescription: IndexDescriptionType<"ttl", [string], {
    expireAfter: number;
    selectivityEstimate: number;
}>

An object representing a TTL index.

+

Type declaration

  • expireAfter: number
  • selectivityEstimate: number
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/logs.LogEntries.html b/10.0.0-alpha.0/types/logs.LogEntries.html new file mode 100644 index 000000000..78222e02d --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogEntries.html @@ -0,0 +1,2 @@ +LogEntries | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/logs.LogEntriesOptions.html b/10.0.0-alpha.0/types/logs.LogEntriesOptions.html new file mode 100644 index 000000000..7c7d3997d --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogEntriesOptions.html @@ -0,0 +1,13 @@ +LogEntriesOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/logs.LogLevelLabel.html b/10.0.0-alpha.0/types/logs.LogLevelLabel.html new file mode 100644 index 000000000..118c77c41 --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogLevelLabel.html @@ -0,0 +1,2 @@ +LogLevelLabel | arangojs - v10.0.0-alpha.0

Type alias LogLevelLabel

LogLevelLabel: keyof typeof LogLevel

String representation of the logging level of a log entry.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/logs.LogLevelSetting.html b/10.0.0-alpha.0/types/logs.LogLevelSetting.html new file mode 100644 index 000000000..0c3c59b81 --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogLevelSetting.html @@ -0,0 +1,2 @@ +LogLevelSetting | arangojs - v10.0.0-alpha.0

Type alias LogLevelSetting

LogLevelSetting: LogLevelLabel | "DEFAULT"

Logging level setting.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/logs.LogMessage.html b/10.0.0-alpha.0/types/logs.LogMessage.html new file mode 100644 index 000000000..648cce060 --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogMessage.html @@ -0,0 +1,2 @@ +LogMessage | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/logs.LogSortDirection.html b/10.0.0-alpha.0/types/logs.LogSortDirection.html new file mode 100644 index 000000000..fa13cd913 --- /dev/null +++ b/10.0.0-alpha.0/types/logs.LogSortDirection.html @@ -0,0 +1,2 @@ +LogSortDirection | arangojs - v10.0.0-alpha.0

Type alias LogSortDirection

LogSortDirection: "asc" | "desc"

Log sorting direction, ascending or descending.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/queries.AstNode.html b/10.0.0-alpha.0/types/queries.AstNode.html new file mode 100644 index 000000000..1537a51ec --- /dev/null +++ b/10.0.0-alpha.0/types/queries.AstNode.html @@ -0,0 +1,2 @@ +AstNode | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.ExplainOptions.html b/10.0.0-alpha.0/types/queries.ExplainOptions.html new file mode 100644 index 000000000..11d808634 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.ExplainOptions.html @@ -0,0 +1,13 @@ +ExplainOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.ExplainPlan.html b/10.0.0-alpha.0/types/queries.ExplainPlan.html new file mode 100644 index 000000000..2ae2e3814 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.ExplainPlan.html @@ -0,0 +1,9 @@ +ExplainPlan | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.ExplainStats.html b/10.0.0-alpha.0/types/queries.ExplainStats.html new file mode 100644 index 000000000..cf71eb8e9 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.ExplainStats.html @@ -0,0 +1,7 @@ +ExplainStats | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.MultiExplainResult.html b/10.0.0-alpha.0/types/queries.MultiExplainResult.html new file mode 100644 index 000000000..2e21378e7 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.MultiExplainResult.html @@ -0,0 +1,6 @@ +MultiExplainResult | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.ParseResult.html b/10.0.0-alpha.0/types/queries.ParseResult.html new file mode 100644 index 000000000..f46176777 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.ParseResult.html @@ -0,0 +1,6 @@ +ParseResult | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.QueryDescription.html b/10.0.0-alpha.0/types/queries.QueryDescription.html new file mode 100644 index 000000000..2bfe05d46 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.QueryDescription.html @@ -0,0 +1,12 @@ +QueryDescription | arangojs - v10.0.0-alpha.0

Type alias QueryDescription

QueryDescription: {
    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/10.0.0-alpha.0/types/queries.QueryOptimizerRule.html b/10.0.0-alpha.0/types/queries.QueryOptimizerRule.html new file mode 100644 index 000000000..019a5e426 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.QueryOptimizerRule.html @@ -0,0 +1,2 @@ +QueryOptimizerRule | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.QueryOptions.html b/10.0.0-alpha.0/types/queries.QueryOptions.html new file mode 100644 index 000000000..c1dc1d94d --- /dev/null +++ b/10.0.0-alpha.0/types/queries.QueryOptions.html @@ -0,0 +1,80 @@ +QueryOptions | arangojs - v10.0.0-alpha.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 databases.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/10.0.0-alpha.0/types/queries.QueryTrackingInfo.html b/10.0.0-alpha.0/types/queries.QueryTrackingInfo.html new file mode 100644 index 000000000..17a5eda57 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.QueryTrackingInfo.html @@ -0,0 +1,9 @@ +QueryTrackingInfo | arangojs - v10.0.0-alpha.0

Type alias QueryTrackingInfo

QueryTrackingInfo: {
    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/10.0.0-alpha.0/types/queries.QueryTrackingOptions.html b/10.0.0-alpha.0/types/queries.QueryTrackingOptions.html new file mode 100644 index 000000000..c64c3f646 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.QueryTrackingOptions.html @@ -0,0 +1,11 @@ +QueryTrackingOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.SingleExplainResult.html b/10.0.0-alpha.0/types/queries.SingleExplainResult.html new file mode 100644 index 000000000..ea931ced4 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.SingleExplainResult.html @@ -0,0 +1,6 @@ +SingleExplainResult | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/queries.UserFunctionDescription.html b/10.0.0-alpha.0/types/queries.UserFunctionDescription.html new file mode 100644 index 000000000..6397d8ea6 --- /dev/null +++ b/10.0.0-alpha.0/types/queries.UserFunctionDescription.html @@ -0,0 +1,6 @@ +UserFunctionDescription | arangojs - v10.0.0-alpha.0

Type alias UserFunctionDescription

UserFunctionDescription: {
    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/10.0.0-alpha.0/types/services.InstallServiceOptions.html b/10.0.0-alpha.0/types/services.InstallServiceOptions.html new file mode 100644 index 000000000..b1d3304fb --- /dev/null +++ b/10.0.0-alpha.0/types/services.InstallServiceOptions.html @@ -0,0 +1,15 @@ +InstallServiceOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.MultiServiceDependency.html b/10.0.0-alpha.0/types/services.MultiServiceDependency.html new file mode 100644 index 000000000..dabb927db --- /dev/null +++ b/10.0.0-alpha.0/types/services.MultiServiceDependency.html @@ -0,0 +1,10 @@ +MultiServiceDependency | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ReplaceServiceOptions.html b/10.0.0-alpha.0/types/services.ReplaceServiceOptions.html new file mode 100644 index 000000000..2bc0b1a99 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ReplaceServiceOptions.html @@ -0,0 +1,21 @@ +ReplaceServiceOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceConfiguration.html b/10.0.0-alpha.0/types/services.ServiceConfiguration.html new file mode 100644 index 000000000..ed970338b --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceConfiguration.html @@ -0,0 +1,15 @@ +ServiceConfiguration | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceDescription.html b/10.0.0-alpha.0/types/services.ServiceDescription.html new file mode 100644 index 000000000..a9f0b937c --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceDescription.html @@ -0,0 +1,13 @@ +ServiceDescription | arangojs - v10.0.0-alpha.0

Type alias ServiceDescription

ServiceDescription: {
    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/10.0.0-alpha.0/types/services.ServiceSummary.html b/10.0.0-alpha.0/types/services.ServiceSummary.html new file mode 100644 index 000000000..60b2bcf32 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceSummary.html @@ -0,0 +1,9 @@ +ServiceSummary | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestDefaultReport.html b/10.0.0-alpha.0/types/services.ServiceTestDefaultReport.html new file mode 100644 index 000000000..3efeb537c --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestDefaultReport.html @@ -0,0 +1,2 @@ +ServiceTestDefaultReport | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestDefaultTest.html b/10.0.0-alpha.0/types/services.ServiceTestDefaultTest.html new file mode 100644 index 000000000..761205d97 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestDefaultTest.html @@ -0,0 +1,2 @@ +ServiceTestDefaultTest | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestStats.html b/10.0.0-alpha.0/types/services.ServiceTestStats.html new file mode 100644 index 000000000..6e4fb3dc4 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestStats.html @@ -0,0 +1,7 @@ +ServiceTestStats | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestStreamReport.html b/10.0.0-alpha.0/types/services.ServiceTestStreamReport.html new file mode 100644 index 000000000..ea57bb75f --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestStreamReport.html @@ -0,0 +1,2 @@ +ServiceTestStreamReport | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestStreamTest.html b/10.0.0-alpha.0/types/services.ServiceTestStreamTest.html new file mode 100644 index 000000000..fd5842f07 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestStreamTest.html @@ -0,0 +1,2 @@ +ServiceTestStreamTest | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestSuite.html b/10.0.0-alpha.0/types/services.ServiceTestSuite.html new file mode 100644 index 000000000..f851c706c --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestSuite.html @@ -0,0 +1,2 @@ +ServiceTestSuite | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestSuiteReport.html b/10.0.0-alpha.0/types/services.ServiceTestSuiteReport.html new file mode 100644 index 000000000..32da3bd65 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestSuiteReport.html @@ -0,0 +1,2 @@ +ServiceTestSuiteReport | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestSuiteTest.html b/10.0.0-alpha.0/types/services.ServiceTestSuiteTest.html new file mode 100644 index 000000000..31e09850b --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestSuiteTest.html @@ -0,0 +1,2 @@ +ServiceTestSuiteTest | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestTapReport.html b/10.0.0-alpha.0/types/services.ServiceTestTapReport.html new file mode 100644 index 000000000..34ce3202d --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestTapReport.html @@ -0,0 +1,2 @@ +ServiceTestTapReport | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestXunitReport.html b/10.0.0-alpha.0/types/services.ServiceTestXunitReport.html new file mode 100644 index 000000000..7c3416889 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestXunitReport.html @@ -0,0 +1,3 @@ +ServiceTestXunitReport | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.ServiceTestXunitTest.html b/10.0.0-alpha.0/types/services.ServiceTestXunitTest.html new file mode 100644 index 000000000..2583bbc61 --- /dev/null +++ b/10.0.0-alpha.0/types/services.ServiceTestXunitTest.html @@ -0,0 +1,3 @@ +ServiceTestXunitTest | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.SingleServiceDependency.html b/10.0.0-alpha.0/types/services.SingleServiceDependency.html new file mode 100644 index 000000000..61665ebad --- /dev/null +++ b/10.0.0-alpha.0/types/services.SingleServiceDependency.html @@ -0,0 +1,10 @@ +SingleServiceDependency | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.SwaggerJson.html b/10.0.0-alpha.0/types/services.SwaggerJson.html new file mode 100644 index 000000000..daaf5f94c --- /dev/null +++ b/10.0.0-alpha.0/types/services.SwaggerJson.html @@ -0,0 +1,2 @@ +SwaggerJson | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.UninstallServiceOptions.html b/10.0.0-alpha.0/types/services.UninstallServiceOptions.html new file mode 100644 index 000000000..e4e2738ea --- /dev/null +++ b/10.0.0-alpha.0/types/services.UninstallServiceOptions.html @@ -0,0 +1,9 @@ +UninstallServiceOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/services.UpgradeServiceOptions.html b/10.0.0-alpha.0/types/services.UpgradeServiceOptions.html new file mode 100644 index 000000000..3c35c74a1 --- /dev/null +++ b/10.0.0-alpha.0/types/services.UpgradeServiceOptions.html @@ -0,0 +1,21 @@ +UpgradeServiceOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/transactions.TransactionAbortOptions.html b/10.0.0-alpha.0/types/transactions.TransactionAbortOptions.html new file mode 100644 index 000000000..00e9924f4 --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionAbortOptions.html @@ -0,0 +1,5 @@ +TransactionAbortOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/transactions.TransactionCollectionOptions.html b/10.0.0-alpha.0/types/transactions.TransactionCollectionOptions.html new file mode 100644 index 000000000..388a0eaf4 --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionCollectionOptions.html @@ -0,0 +1,9 @@ +TransactionCollectionOptions | arangojs - v10.0.0-alpha.0

Type alias TransactionCollectionOptions

TransactionCollectionOptions: {
    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/10.0.0-alpha.0/types/transactions.TransactionCommitOptions.html b/10.0.0-alpha.0/types/transactions.TransactionCommitOptions.html new file mode 100644 index 000000000..d5004d90e --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionCommitOptions.html @@ -0,0 +1,5 @@ +TransactionCommitOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/transactions.TransactionDetails.html b/10.0.0-alpha.0/types/transactions.TransactionDetails.html new file mode 100644 index 000000000..2cf1c96a1 --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionDetails.html @@ -0,0 +1,5 @@ +TransactionDetails | arangojs - v10.0.0-alpha.0

Type alias TransactionDetails

TransactionDetails: {
    id: string;
    state: "running" | "committed" | "aborted";
}

Details for a transaction.

+

See also TransactionInfo.

+

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/10.0.0-alpha.0/types/transactions.TransactionInfo.html b/10.0.0-alpha.0/types/transactions.TransactionInfo.html new file mode 100644 index 000000000..4df8ba34d --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionInfo.html @@ -0,0 +1,5 @@ +TransactionInfo | arangojs - v10.0.0-alpha.0

Type alias TransactionInfo

TransactionInfo: {
    id: string;
    status: "running" | "committed" | "aborted";
}

Status of a given transaction.

+

See also 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/10.0.0-alpha.0/types/transactions.TransactionOptions.html b/10.0.0-alpha.0/types/transactions.TransactionOptions.html new file mode 100644 index 000000000..6762a0765 --- /dev/null +++ b/10.0.0-alpha.0/types/transactions.TransactionOptions.html @@ -0,0 +1,18 @@ +TransactionOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/users.AccessLevel.html b/10.0.0-alpha.0/types/users.AccessLevel.html new file mode 100644 index 000000000..b2af6b8a6 --- /dev/null +++ b/10.0.0-alpha.0/types/users.AccessLevel.html @@ -0,0 +1,2 @@ +AccessLevel | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/users.ArangoUser.html b/10.0.0-alpha.0/types/users.ArangoUser.html new file mode 100644 index 000000000..4e5ad0f9c --- /dev/null +++ b/10.0.0-alpha.0/types/users.ArangoUser.html @@ -0,0 +1,5 @@ +ArangoUser | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/users.CreateDatabaseUserOptions.html b/10.0.0-alpha.0/types/users.CreateDatabaseUserOptions.html new file mode 100644 index 000000000..737095eac --- /dev/null +++ b/10.0.0-alpha.0/types/users.CreateDatabaseUserOptions.html @@ -0,0 +1,8 @@ +CreateDatabaseUserOptions | arangojs - v10.0.0-alpha.0

Type alias CreateDatabaseUserOptions

CreateDatabaseUserOptions: {
    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/10.0.0-alpha.0/types/users.UserAccessLevelOptions.html b/10.0.0-alpha.0/types/users.UserAccessLevelOptions.html new file mode 100644 index 000000000..7f5501a22 --- /dev/null +++ b/10.0.0-alpha.0/types/users.UserAccessLevelOptions.html @@ -0,0 +1,7 @@ +UserAccessLevelOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/users.UserOptions.html b/10.0.0-alpha.0/types/users.UserOptions.html new file mode 100644 index 000000000..b6ad679bf --- /dev/null +++ b/10.0.0-alpha.0/types/users.UserOptions.html @@ -0,0 +1,7 @@ +UserOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.ArangoSearchViewDescription.html b/10.0.0-alpha.0/types/views.ArangoSearchViewDescription.html new file mode 100644 index 000000000..09f2ef1de --- /dev/null +++ b/10.0.0-alpha.0/types/views.ArangoSearchViewDescription.html @@ -0,0 +1 @@ +ArangoSearchViewDescription | arangojs - v10.0.0-alpha.0

Type alias ArangoSearchViewDescription

ArangoSearchViewDescription: ViewDescriptionType<"arangosearch">
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ArangoSearchViewLink.html b/10.0.0-alpha.0/types/views.ArangoSearchViewLink.html new file mode 100644 index 000000000..cdc691e15 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ArangoSearchViewLink.html @@ -0,0 +1,2 @@ +ArangoSearchViewLink | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.ArangoSearchViewLinkOptions.html b/10.0.0-alpha.0/types/views.ArangoSearchViewLinkOptions.html new file mode 100644 index 000000000..e07615c83 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ArangoSearchViewLinkOptions.html @@ -0,0 +1,23 @@ +ArangoSearchViewLinkOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.ArangoSearchViewProperties.html b/10.0.0-alpha.0/types/views.ArangoSearchViewProperties.html new file mode 100644 index 000000000..55d5cc47b --- /dev/null +++ b/10.0.0-alpha.0/types/views.ArangoSearchViewProperties.html @@ -0,0 +1,2 @@ +ArangoSearchViewProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.ArangoSearchViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.ArangoSearchViewPropertiesOptions.html new file mode 100644 index 000000000..eb20e4807 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ArangoSearchViewPropertiesOptions.html @@ -0,0 +1,14 @@ +ArangoSearchViewPropertiesOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.BytesAccumConsolidationPolicy.html b/10.0.0-alpha.0/types/views.BytesAccumConsolidationPolicy.html new file mode 100644 index 000000000..c07d7affd --- /dev/null +++ b/10.0.0-alpha.0/types/views.BytesAccumConsolidationPolicy.html @@ -0,0 +1,7 @@ +BytesAccumConsolidationPolicy | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.Compression.html b/10.0.0-alpha.0/types/views.Compression.html new file mode 100644 index 000000000..473fb334a --- /dev/null +++ b/10.0.0-alpha.0/types/views.Compression.html @@ -0,0 +1,2 @@ +Compression | arangojs - v10.0.0-alpha.0

Type alias Compression

Compression: "lz4" | "none"

Compression for storing data.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.CreateArangoSearchViewOptions.html b/10.0.0-alpha.0/types/views.CreateArangoSearchViewOptions.html new file mode 100644 index 000000000..6e3a09bc4 --- /dev/null +++ b/10.0.0-alpha.0/types/views.CreateArangoSearchViewOptions.html @@ -0,0 +1,2 @@ +CreateArangoSearchViewOptions | arangojs - v10.0.0-alpha.0

Type alias CreateArangoSearchViewOptions

CreateArangoSearchViewOptions: CreateViewOptionsType<"arangosearch", ArangoSearchViewPropertiesOptions & {
    optimizeTopK?: string[];
    primaryKeyCache?: boolean;
    primarySort?: CreateArangoSearchViewPrimarySortOptions[];
    primarySortCache?: boolean;
    primarySortCompression?: Compression;
    storedValues?: CreateArangoSearchViewStoredValueOptions[] | string[] | string[][];
    writebufferActive?: number;
    writebufferIdle?: number;
    writebufferSizeMax?: number;
}>

Options for creating an ArangoSearch View.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.CreateArangoSearchViewPrimarySortOptions.html b/10.0.0-alpha.0/types/views.CreateArangoSearchViewPrimarySortOptions.html new file mode 100644 index 000000000..b67ba52cf --- /dev/null +++ b/10.0.0-alpha.0/types/views.CreateArangoSearchViewPrimarySortOptions.html @@ -0,0 +1,10 @@ +CreateArangoSearchViewPrimarySortOptions | arangojs - v10.0.0-alpha.0

Type alias CreateArangoSearchViewPrimarySortOptions

CreateArangoSearchViewPrimarySortOptions: {
    direction: Direction;
    field: string;
} | {
    asc: boolean;
    field: string;
}

Options for creating a primary sort in an ArangoSearch View.

+

Type declaration

  • direction: Direction

    If set to "asc", the primary sorting order will be ascending. +If set to "desc", the primary sorting order will be descending.

    +
  • field: string

    Attribute path for the value of each document to use for +sorting.

    +

Type declaration

  • asc: boolean

    If set to true, the primary sorting order will be ascending. +If set to false, the primary sorting order will be descending.

    +
  • field: string

    Attribute path for the value of each document to use for +sorting.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.CreateSearchAliasViewOptions.html b/10.0.0-alpha.0/types/views.CreateSearchAliasViewOptions.html new file mode 100644 index 000000000..d4b1cb1b2 --- /dev/null +++ b/10.0.0-alpha.0/types/views.CreateSearchAliasViewOptions.html @@ -0,0 +1,2 @@ +CreateSearchAliasViewOptions | arangojs - v10.0.0-alpha.0

Type alias CreateSearchAliasViewOptions

CreateSearchAliasViewOptions: CreateViewOptionsType<"search-alias", SearchAliasViewPropertiesOptions>

Options for creating a SearchAlias View.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.CreateViewOptions.html b/10.0.0-alpha.0/types/views.CreateViewOptions.html new file mode 100644 index 000000000..0cef3ccfd --- /dev/null +++ b/10.0.0-alpha.0/types/views.CreateViewOptions.html @@ -0,0 +1,2 @@ +CreateViewOptions | arangojs - v10.0.0-alpha.0

Type alias CreateViewOptions

Options for creating a View.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.Direction.html b/10.0.0-alpha.0/types/views.Direction.html new file mode 100644 index 000000000..020f8512a --- /dev/null +++ b/10.0.0-alpha.0/types/views.Direction.html @@ -0,0 +1,2 @@ +Direction | arangojs - v10.0.0-alpha.0

Type alias Direction

Direction: "desc" | "asc"

Sorting direction. Descending or ascending.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.SearchAliasViewDescription.html b/10.0.0-alpha.0/types/views.SearchAliasViewDescription.html new file mode 100644 index 000000000..4036e0e94 --- /dev/null +++ b/10.0.0-alpha.0/types/views.SearchAliasViewDescription.html @@ -0,0 +1 @@ +SearchAliasViewDescription | arangojs - v10.0.0-alpha.0

Type alias SearchAliasViewDescription

SearchAliasViewDescription: ViewDescriptionType<"search-alias">
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.SearchAliasViewIndexOptions.html b/10.0.0-alpha.0/types/views.SearchAliasViewIndexOptions.html new file mode 100644 index 000000000..10bfdea13 --- /dev/null +++ b/10.0.0-alpha.0/types/views.SearchAliasViewIndexOptions.html @@ -0,0 +1,4 @@ +SearchAliasViewIndexOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.SearchAliasViewProperties.html b/10.0.0-alpha.0/types/views.SearchAliasViewProperties.html new file mode 100644 index 000000000..a7e3caf27 --- /dev/null +++ b/10.0.0-alpha.0/types/views.SearchAliasViewProperties.html @@ -0,0 +1,2 @@ +SearchAliasViewProperties | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.SearchAliasViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.SearchAliasViewPropertiesOptions.html new file mode 100644 index 000000000..d2cd4a0a3 --- /dev/null +++ b/10.0.0-alpha.0/types/views.SearchAliasViewPropertiesOptions.html @@ -0,0 +1,3 @@ +SearchAliasViewPropertiesOptions | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.TierConsolidationPolicy.html b/10.0.0-alpha.0/types/views.TierConsolidationPolicy.html new file mode 100644 index 000000000..4524e4b6e --- /dev/null +++ b/10.0.0-alpha.0/types/views.TierConsolidationPolicy.html @@ -0,0 +1,17 @@ +TierConsolidationPolicy | arangojs - v10.0.0-alpha.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/10.0.0-alpha.0/types/views.UpdateArangoSearchViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.UpdateArangoSearchViewPropertiesOptions.html new file mode 100644 index 000000000..a397078ed --- /dev/null +++ b/10.0.0-alpha.0/types/views.UpdateArangoSearchViewPropertiesOptions.html @@ -0,0 +1,2 @@ +UpdateArangoSearchViewPropertiesOptions | arangojs - v10.0.0-alpha.0

Type alias UpdateArangoSearchViewPropertiesOptions

UpdateArangoSearchViewPropertiesOptions: ArangoSearchViewPropertiesOptions

Options for partially modifying the properties of an ArangoSearch View.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.UpdateSearchAliasViewIndexOptions.html b/10.0.0-alpha.0/types/views.UpdateSearchAliasViewIndexOptions.html new file mode 100644 index 000000000..41e1bc4b6 --- /dev/null +++ b/10.0.0-alpha.0/types/views.UpdateSearchAliasViewIndexOptions.html @@ -0,0 +1,4 @@ +UpdateSearchAliasViewIndexOptions | arangojs - v10.0.0-alpha.0

Type alias UpdateSearchAliasViewIndexOptions

UpdateSearchAliasViewIndexOptions: 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/10.0.0-alpha.0/types/views.UpdateSearchAliasViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.UpdateSearchAliasViewPropertiesOptions.html new file mode 100644 index 000000000..3e506e211 --- /dev/null +++ b/10.0.0-alpha.0/types/views.UpdateSearchAliasViewPropertiesOptions.html @@ -0,0 +1,3 @@ +UpdateSearchAliasViewPropertiesOptions | arangojs - v10.0.0-alpha.0

Type alias UpdateSearchAliasViewPropertiesOptions

UpdateSearchAliasViewPropertiesOptions: {
    indexes: UpdateSearchAliasViewIndexOptions[];
}

Options for partially modifying the properties of a SearchAlias View.

+

Type declaration

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.UpdateViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.UpdateViewPropertiesOptions.html new file mode 100644 index 000000000..af3978d70 --- /dev/null +++ b/10.0.0-alpha.0/types/views.UpdateViewPropertiesOptions.html @@ -0,0 +1,2 @@ +UpdateViewPropertiesOptions | arangojs - v10.0.0-alpha.0

Type alias UpdateViewPropertiesOptions

Options for partially modifying a View's properties.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ViewDescription.html b/10.0.0-alpha.0/types/views.ViewDescription.html new file mode 100644 index 000000000..5bbb6e6a5 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ViewDescription.html @@ -0,0 +1 @@ +ViewDescription | arangojs - v10.0.0-alpha.0

Type alias ViewDescription

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ViewDescriptionType.html b/10.0.0-alpha.0/types/views.ViewDescriptionType.html new file mode 100644 index 000000000..e812f9aea --- /dev/null +++ b/10.0.0-alpha.0/types/views.ViewDescriptionType.html @@ -0,0 +1,6 @@ +ViewDescriptionType | arangojs - v10.0.0-alpha.0

Type alias ViewDescriptionType<Type>

ViewDescriptionType<Type>: {
    globallyUniqueId: string;
    id: string;
    name: string;
    type: Type;
}

Generic description of a View.

+

Type Parameters

  • Type extends string

Type declaration

  • globallyUniqueId: string

    A globally unique identifier for this View.

    +
  • id: string

    An identifier for this View.

    +
  • name: string

    Name of the View.

    +
  • type: Type

    Type of the View.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ViewProperties.html b/10.0.0-alpha.0/types/views.ViewProperties.html new file mode 100644 index 000000000..cee820a6b --- /dev/null +++ b/10.0.0-alpha.0/types/views.ViewProperties.html @@ -0,0 +1 @@ +ViewProperties | arangojs - v10.0.0-alpha.0

Type alias ViewProperties

\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ViewPropertiesOptions.html b/10.0.0-alpha.0/types/views.ViewPropertiesOptions.html new file mode 100644 index 000000000..98716b2c1 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ViewPropertiesOptions.html @@ -0,0 +1,2 @@ +ViewPropertiesOptions | arangojs - v10.0.0-alpha.0

Type alias ViewPropertiesOptions

Options for replacing a View's properties.

+
\ No newline at end of file diff --git a/10.0.0-alpha.0/types/views.ViewType.html b/10.0.0-alpha.0/types/views.ViewType.html new file mode 100644 index 000000000..f089380e6 --- /dev/null +++ b/10.0.0-alpha.0/types/views.ViewType.html @@ -0,0 +1,2 @@ +ViewType | arangojs - v10.0.0-alpha.0

Type alias ViewType

ViewType: ViewDescription["type"]

Type of a View.

+
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c2476a874..ac08681a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,330 @@ 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. +## [10.0.0-alpha.0] - 2024-11-28 + +This is a major release and breaks backwards compatibility. + +See [the migration guide](./MIGRATING.md#v9-to-v10) for detailed instructions +for upgrading your code to arangojs v10. + +### Removed + +- Removed unused `CreateUserOptions` type + + The actual type used by the `db.createUser` method is still `UserOptions`. + +- Removed unused `IndexDetails` type + + This type was intended to be returned by `collection.indexes` when the + `withStats` option is set to `true` but the `figures` property is already + included in the current return type. + +### Changed + +- Changed `QueueTimeMetrics` type to an interface + +- Changed `CursorExtras` and `CursorStats` interfaces to types + +- Changed `GraphVertexCollection` and `GraphEdgeCollection` generic types to + take separate `EntryResultType` and `EntryInputType` type parameters + +- Changed `db.collection`, `db.createCollection` and `db.createEdgeCollection` + methods to take separate `EntryResultType` and `EntryInputType` type + parameters + + These type parameters are used to narrow the the returned collection type. + +- Renamed `db.listServiceScripts` method to `db.getServiceScripts` +- Renamed `db.listHotBackups` method to `db.getHotBackups` +- Renamed `db.getLogMessages` method to `db.listLogMessages` +- Renamed `db.listFunctions` method to `db.listUserFunctions` +- Renamed `db.createFunction` method to `db.createUserFunction` +- Renamed `db.dropFunction` method to `db.dropUserFunction` +- Changed `db.removeUser` method to return `void` + +#### Module renaming + +- Renamed most modules to plural form for consistency + + The following modules were renamed: + + - `arangojs/analyzer` -> `arangojs/analyzers` + - `arangojs/collection` -> `arangojs/collections` + - `arangojs/cursor` -> `arangojs/cursors` + - `arangojs/database` -> `arangojs/databases` + - `arangojs/error` -> `arangojs/errors` + - `arangojs/graph` -> `arangojs/graphs` + - `arangojs/job` -> `arangojs/jobs` + - `arangojs/route` -> `arangojs/routes` + - `arangojs/transaction` -> `arangojs/transactions` + - `arangojs/view` -> `arangojs/views` + +#### Moved types + +- Moved document related types from `arangojs/collection` module to + `arangojs/documents` module + + The following types were moved: `DocumentOperationFailure`, + `DocumentOperationMetadata`, `DocumentExistsOptions`, + `CollectionReadOptions`, `CollectionBatchReadOptions`, + `CollectionInsertOptions`, `CollectionReplaceOptions`, + `CollectionUpdateOptions`, `CollectionRemoveOptions`, + `CollectionImportOptions`, `CollectionEdgesOptions`, + `CollectionImportResult` and `CollectionEdgesResult` + +- Moved index related types from `arangojs/collection` module to + `arangojs/indexes` module + + The following types were moved: `IndexListOptions`. + +- Moved transaction related types from `arangojs/database` module to + `arangojs/transactions` module + + The following types were moved: `TransactionCollections`, + `TransactionOptions` and `TransactionDetails`. + +- Moved cluster related types from `arangojs/database` module to new + `arangojs/clusters` module + + The following types were moved: `ClusterImbalanceInfo`, + `ClusterRebalanceState`, `ClusterRebalanceOptions`, `ClusterRebalanceMove` + and `ClusterRebalanceResult`. + +- Moved hot backup related types from `arangojs/database` module to new + `arangojs/hot-backups` module + + The following types were moved: `HotBackupOptions`, `HotBackupResult` and + `HotBackupList`. + +- Moved query related types from `arangojs/database` module to new + `arangojs/queries` module + + The following types were moved: `QueryOptions`, `ExplainOptions`, + `ExplainPlan`, `ExplainStats`, `SingleExplainResult`, `MultiExplainResult`, + `AstNode`, `ParseResult`, `QueryOptimizerRule`, `QueryTracking`, + `QueryTrackingOptions`, `QueryInfo` and `AqlUserFunction`. + +- Moved service related types from `arangojs/database` module to new + `arangojs/services` module + + The following types were moved: `InstallServiceOptions`, + `ReplaceServiceOptions`, `UpgradeServiceOptions`, `UninstallServiceOptions`, + `ServiceSummary`, `ServiceInfo`, `ServiceConfiguration`, + `SingleServiceDependency`, `MultiServiceDependency`, `ServiceTestStats`, + `ServiceTestStreamTest`, `ServiceTestStreamReport`, `ServiceTestSuiteTest`, + `ServiceTestSuite`, `ServiceTestSuiteReport`, `ServiceTestXunitTest`, + `ServiceTestXunitReport`, `ServiceTestTapReport`, `ServiceTestDefaultTest`, + `ServiceTestDefaultReport` and `SwaggerJson`. + +- Moved user related types from `arangojs/database` module to new + `arangojs/users` module + + The following types were moved: `AccessLevel`, `ArangoUser`, `UserOptions`, + `UserAccessLevelOptions` and `CreateDatabaseUser`. + +- Moved server administration related types from `arangojs/database` module to + new `arangojs/administration` module + + The following types were moved: `QueueTimeMetrics` and `VersionInfo`. + +#### Renamed types + +- Renamed `Index` types to `IndexDescription` for consistency + + The specific index types were also renamed accordingly: + + - `Index` -> `IndexDescription` + - `GeoIndex` -> `GeoIndexDescription` + - `PersistentIndex` -> `PersistentIndexDescription` + - `PrimaryIndex` -> `PrimaryIndexDescription` + - `TtlIndex` -> `TtlIndexDescription` + - `MdiIndex` -> `MdiIndexDescription` + - `InvertedIndex` -> `InvertedIndexDescription` + - `InternalArangosearchIndex` -> `ArangosearchIndexDescription` + - `InternalIndex` -> `InternalIndexDescription` + - `HiddenIndex` -> `HiddenIndexDescription` + + Note that the "Internal" prefix was dropped from `ArangosearchIndexDescription` + to more accurately reflect the index type name. The index type still refers + to an internal index, however. + +- Renamed various types for consistency: + + - `AqlUserFunction` -> `UserFunctionDescription` + - `CollectionMetadata` -> `CollectionDescription` + - `DatabaseInfo` -> `DatabaseDescription` + - `GraphInfo` -> `GraphDescription` + - `ServiceInfo` -> `ServiceDescription` + - `QueryInfo` -> `QueryDescription` + - `QueryTracking` -> `QueryTrackingInfo` + - `TransactionDetails` -> `TransactionInfo` + - `TransactionCollections` -> `TransactionCollectionOptions` + - `CreateDatabaseUser` -> `CreateDatabaseUserOptions` + + - Index operations: + - `IndexListOptions` -> `ListIndexesOptions` + + - Collection document operations: + - `DocumentExistsOptions` -> `DocumentExistsOptions` + - `CollectionReadOptions` -> `ReadDocumentOptions` + - `CollectionBatchReadOptions` -> `BulkReadDocumentsOptions` + - `CollectionInsertOptions` -> `InsertDocumentOptions` + - `CollectionReplaceOptions` -> `ReplaceDocumentOptions` + - `CollectionUpdateOptions` -> `UpdateDocumentOptions` + - `CollectionRemoveOptions` -> `RemoveDocumentOptions` + - `CollectionImportOptions` -> `ImportDocumentsOptions` + - `CollectionEdgesOptions` -> `DocumentEdgesOptions` + - `CollectionImportResult` -> `ImportDocumentsResult` + - `CollectionEdgesResult` -> `DocumentEdgesResult` + + - Graph collection document operation: + - `GraphCollectionReadOptions` -> `ReadGraphDocumentOptions` + - `GraphCollectionInsertOptions` -> `CreateGraphDocumentOptions` + - `GraphCollectionReplaceOptions` -> `ReplaceGraphDocumentOptions` + - `GraphCollectionRemoveOptions` -> `RemoveGraphDocumentOptions` + - `ViewPatchPropertiesOptions` -> `UpdateViewPropertiesOptions` + + - View operations: + - `ArangoSearchViewPatchPropertiesOptions` -> `UpdateArangoSearchViewPropertiesOptions` + - `SearchAliasViewPatchPropertiesOptions` -> `UpdateSearchAliasViewPropertiesOptions` + - `SearchAliasViewPatchIndexOptions` -> `UpdateSearchAliasViewIndexOptions` + - `ArangoSearchViewStoredValueOptions` -> `CreateArangoSearchViewStoredValueOptions` + +- Renamed `ArrayCursor` and `BatchedArrayCursor` classes to `Cursor` and + `BatchCursor` respectively + + The previous name was misleading because it conflicted with how the ArangoDB + distinguishes between array cursors and streaming cursors in the interactive + shell. This distinction does not apply to the driver. + +- Renamed various types to reduce ambiguity: + + - `ObjectWithId` (in `indexes` module) -> `ObjectWithIndexId` + - `ObjectWithId` (in `documents` module) -> `ObjectWithDocumentId` + - `ObjectWithKey` (in `documents` module) -> `ObjectWithDocumentKey` + +#### Error handling + +- Errors encountered before a request completes are now wrapped in a + `NetworkError` or a subclass thereof + + This should help making it easier to diagnose network issues and distinguish + the relevant error conditions. + + The originating error can still be accessed using the `cause` property of the + `NetworkError` error. + +- `HttpError` now extends the `NetworkError` class + + This allows treating all non-`ArangoError` errors as one category of errors, + even when there is no server response available. + +- `db.waitForPropagation` now throws a `PropagationTimeoutError` error when + invoked with a `timeout` option and the timeout duration is exceeded + + The method would previously throw the most recent error encountered while + waiting for replication. The originating error can still be accessed using + the `cause` property of the `PropagationTimeoutError` error. + +- `db.waitForPropagation` now respects the `timeout` option more strictly + + Previously the method would only time out if the timeout duration was + exceeded after the most recent request failed. Now the timeout is + recalculated and passed on to each request, preventing it from exceeding + the specified duration. + + If the propagation timed out due to an underlying request exceeding the + timeout duration, the `cause` property of the `PropagationTimeoutError` + error will be a `ResponseTimeoutError` error. + +- `config.beforeRequest` and `config.afterResponse` callbacks can now return + promises + + If the callback returns a promise, it will be awaited before the request + and response cycle proceeds. If either callback throws an error or returns + a promise that is rejected, that error will be thrown instead. + +- `config.afterResponse` callback signature changed + + The callback signature previously used the internal `ArangojsResponse` type. + The new signature uses the `Response` type of the Fetch API with an + additional `request` property to more accurately represent the actual value + it receives as the `parsedBody` property will never be present. + +- `response` property on `ArangoError` is now optional + + This property should always be present but this allows using the error in + situations where a response might not be available. + +### Added + +- Added `BatchCursor#itemsView` property and `BatchCursorItemsView` interface + + This property provides a low-level interface for consuming the items of the + cursor and is used by the regular item-wise `Cursor` class internally. + +- Added `onError` option to `Config` (DE-955) + + This option can be used to specify a callback function that will be invoked + whenever a request results in an error. Unlike `afterResponse`, this callback + will be invoked even if the request completed but returned an error status. + In this case the error will be the `HttpError` or `ArangoError` representing + the error response. + + If the `onError` callback throws an error or returns a promise that is + rejected, that error will be thrown instead. + +- Added `NetworkError` class + + This is the common base class for all errors (including `HttpError`) that + occur while making a request. The originating error can be accessed using the + `cause` property. The request object can be accessed using the `request` + property. + + Note that `ArangoError` and the new `PropagationTimeoutError` error type + do not extend `NetworkError` but may wrap an underlying error, which can + be accessed using the `cause` property. + +- Added `ResponseTimeoutError` class + + This error extends `NetworkError` and is thrown when a request deliberately + times out using the `timeout` option. + +- Added `RequestAbortedError` class + + This error extends `NetworkError` and is thrown when a request is aborted + by using the `db.close` method. + +- Added `FetchFailedError` class + + This error extends `NetworkError` and is thrown when a request fails because + the underlying `fetch` call fails (usually with a `TypeError`). + + In Node.js the root cause of this error (e.g. a network failure) can often be + found in the `cause` property of the originating error, i.e. the `cause` + property of the `cause` property of this error. + + In browsers the root cause is usually not exposed directly but can often + be diagnosed by examining the developer console or network tab. + +- Added `PropagationTimeoutError` class + + This error does not extend `NetworkError` but wraps the most recent error + encountered while waiting for replication, which can be accessed using the + `cause` property. This error is only thrown when `db.waitForPropagation` + is invoked with a `timeout` option and the timeout duration is exceeded. + +- Added `ProcessedResponse` type + + This type replaces the previously internal `ArangojsResponse` type and + extends the native `Response` type with additional properties. + +- Added optional `ArangoError#request` property + + This property is always present if the error has a `response` property. In + normal use this should always be the case. + ## [9.2.0] - 2024-11-27 ### Added @@ -71,6 +395,8 @@ This driver uses semantic versioning: This property is only available when fetching indexes with the `withHidden` option set to `true`. +### Added + - Added `HiddenIndex` type (DE-849) This type is used to represent an index returned by `collection.indexes` when @@ -1967,6 +2293,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. +[10.0.0-alpha.0]: https://github.com/arangodb/arangojs/compare/v9.2.0...v10.0.0-alpha.0 [9.2.0]: https://github.com/arangodb/arangojs/compare/v9.1.0...v9.2.0 [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 diff --git a/MIGRATING.md b/MIGRATING.md index e557bd5f5..acfed5864 100644 --- a/MIGRATING.md +++ b/MIGRATING.md @@ -5,6 +5,56 @@ title: "Migration Guide" # Migrating +## v9 to v10 + +Version 10 changes the error handling to make it easier to diagnose network +issues and distinguish between different error conditions. + +If you previously inspected errors other than `ArangoError` and `HttpError` +directly, you should now expect to see `NetworkError` or a subclass thereof +instead. The originating error can be found using the `cause` property of the +`NetworkError` error: + +```js +try { + await db.collection("my-collection").get(); +} catch (err) { + if (err instanceof NetworkError) console.log(err.cause); +} +``` + +### Module name changes + +Module names referring to resource types such as analyzers, collections, +databases, or views have been changed to use the plural form: + +```diff +-import { Database } from "arangojs/database"; ++import { Database } from "arangojs/databases"; +``` + +Note that the `aql` module and `foxx-manifest` modules have not been renamed +as these are utility modules. + +### Type imports + +Types that were previously exported by the `database` module but are not +related to managing databases have been moved to separate modules: + +```diff +-import type { +- ParseResult, +- TransactionOptions, +- VersionInfo +-} from "arangojs/database"; ++import type { VersionInfo } from "arangojs/administration"; ++import type { TransactionOptions } from "arangojs/transactions"; ++import type { ParseResult } from "arangojs/queries"; +``` + +Additionally, some types were renamed. For a full list of changes, see the +[changelog](./CHANGELOG.md). + ## v8 to v9 Version 9 reverts the automatic NFC normalization introduced in v7.7.0. This diff --git a/_data/versions.json b/_data/versions.json index f679ef0b9..4bb6ee2be 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1 +1 @@ -{"all":["9.2.0","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.2.0","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"]} +{"all":["10.0.0-alpha.0","9.2.0","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.2.0","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"]}