diff --git a/10.0.0-alpha.1/.nojekyll b/10.0.0-alpha.1/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/10.0.0-alpha.1/.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.1/assets/highlight.css b/10.0.0-alpha.1/assets/highlight.css new file mode 100644 index 00000000..54adc3f2 --- /dev/null +++ b/10.0.0-alpha.1/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.1/assets/icons.js b/10.0.0-alpha.1/assets/icons.js new file mode 100644 index 00000000..b79c9e89 --- /dev/null +++ b/10.0.0-alpha.1/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.1/assets/icons.svg b/10.0.0-alpha.1/assets/icons.svg new file mode 100644 index 00000000..7dead611 --- /dev/null +++ b/10.0.0-alpha.1/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/10.0.0-alpha.1/assets/main.js b/10.0.0-alpha.1/assets/main.js new file mode 100644 index 00000000..d6f13886 --- /dev/null +++ b/10.0.0-alpha.1/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.1/assets/navigation.js b/10.0.0-alpha.1/assets/navigation.js new file mode 100644 index 00000000..3e2443b3 --- /dev/null +++ b/10.0.0-alpha.1/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.1/assets/search.js b/10.0.0-alpha.1/assets/search.js new file mode 100644 index 00000000..bab93092 --- /dev/null +++ b/10.0.0-alpha.1/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.1/assets/style.css b/10.0.0-alpha.1/assets/style.css new file mode 100644 index 00000000..778b9492 --- /dev/null +++ b/10.0.0-alpha.1/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.1/classes/analyzers.Analyzer.html b/10.0.0-alpha.1/classes/analyzers.Analyzer.html new file mode 100644 index 00000000..6117a355 --- /dev/null +++ b/10.0.0-alpha.1/classes/analyzers.Analyzer.html @@ -0,0 +1,27 @@ +Analyzer | arangojs - v10.0.0-alpha.1

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.1/classes/cursors.BatchCursor.html b/10.0.0-alpha.1/classes/cursors.BatchCursor.html new file mode 100644 index 00000000..b5494636 --- /dev/null +++ b/10.0.0-alpha.1/classes/cursors.BatchCursor.html @@ -0,0 +1,147 @@ +BatchCursor | arangojs - v10.0.0-alpha.1

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

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.1/classes/databases.Database.html b/10.0.0-alpha.1/classes/databases.Database.html new file mode 100644 index 00000000..7566d4b3 --- /dev/null +++ b/10.0.0-alpha.1/classes/databases.Database.html @@ -0,0 +1,1269 @@ +Database | arangojs - v10.0.0-alpha.1

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

      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 configuration.ConfigOptions.

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

    +

    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(
    { pathname: `/_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.1/classes/errors.ArangoError.html b/10.0.0-alpha.1/classes/errors.ArangoError.html new file mode 100644 index 00000000..086bd193 --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.ArangoError.html @@ -0,0 +1,24 @@ +ArangoError | arangojs - v10.0.0-alpha.1

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

Methods

  • Returns 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.1/classes/errors.FetchFailedError.html b/10.0.0-alpha.1/classes/errors.FetchFailedError.html new file mode 100644 index 00000000..0441a11b --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.FetchFailedError.html @@ -0,0 +1,16 @@ +FetchFailedError | arangojs - v10.0.0-alpha.1

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
    • request: Request
    • options: {
          cause?: Error;
          isSafeToRetry?: null | boolean;
      } = {}
      • Optional cause?: Error
      • Optional isSafeToRetry?: null | boolean

    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.1/classes/errors.HttpError.html b/10.0.0-alpha.1/classes/errors.HttpError.html new file mode 100644 index 00000000..a725368b --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.HttpError.html @@ -0,0 +1,19 @@ +HttpError | arangojs - v10.0.0-alpha.1

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
  • Returns 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.1/classes/errors.NetworkError.html b/10.0.0-alpha.1/classes/errors.NetworkError.html new file mode 100644 index 00000000..900f56b2 --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.NetworkError.html @@ -0,0 +1,15 @@ +NetworkError | arangojs - v10.0.0-alpha.1

Class NetworkError

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

+

Hierarchy (view full)

Constructors

  • Parameters

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

    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.1/classes/errors.PropagationTimeoutError.html b/10.0.0-alpha.1/classes/errors.PropagationTimeoutError.html new file mode 100644 index 00000000..8b72ec7d --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.PropagationTimeoutError.html @@ -0,0 +1,11 @@ +PropagationTimeoutError | arangojs - v10.0.0-alpha.1

Class PropagationTimeoutError

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

+

Hierarchy

  • Error
    • PropagationTimeoutError

Constructors

  • Parameters

    • Optional message: string
    • options: {
          cause?: Error;
      } = {}
      • Optional 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.1/classes/errors.RequestAbortedError.html b/10.0.0-alpha.1/classes/errors.RequestAbortedError.html new file mode 100644 index 00000000..d34887dd --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.RequestAbortedError.html @@ -0,0 +1,15 @@ +RequestAbortedError | arangojs - v10.0.0-alpha.1

Class RequestAbortedError

Represents an error from a request that was aborted.

+

Hierarchy (view full)

Constructors

  • Parameters

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

    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.1/classes/errors.ResponseTimeoutError.html b/10.0.0-alpha.1/classes/errors.ResponseTimeoutError.html new file mode 100644 index 00000000..5c19ee81 --- /dev/null +++ b/10.0.0-alpha.1/classes/errors.ResponseTimeoutError.html @@ -0,0 +1,16 @@ +ResponseTimeoutError | arangojs - v10.0.0-alpha.1

Class ResponseTimeoutError

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

+

Hierarchy (view full)

Constructors

  • Parameters

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

    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.1/classes/graphs.Graph.html b/10.0.0-alpha.1/classes/graphs.Graph.html new file mode 100644 index 00000000..7a5669e1 --- /dev/null +++ b/10.0.0-alpha.1/classes/graphs.Graph.html @@ -0,0 +1,101 @@ +Graph | arangojs - v10.0.0-alpha.1

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

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.1/classes/graphs.GraphVertexCollection.html b/10.0.0-alpha.1/classes/graphs.GraphVertexCollection.html new file mode 100644 index 00000000..4fcc0ff4 --- /dev/null +++ b/10.0.0-alpha.1/classes/graphs.GraphVertexCollection.html @@ -0,0 +1,80 @@ +GraphVertexCollection | arangojs - v10.0.0-alpha.1

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

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

Represents an arbitrary route relative to an ArangoDB database.

+

Accessors

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

    +

    Returns Database

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

    +

    Returns Headers

  • get pathname(): 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

    • pathname: 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

    • pathname: 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

    • pathname: 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

    • pathname: 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

    • pathname: 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

    • pathname: 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",
    pathname: "/users",
    body: {
    username: "admin",
    password: "hunter2"
    }
    }); +
    +
  • Creates a new route relative to this route that inherits any of its default +HTTP headers.

    +

    Parameters

    • pathname: 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.1/classes/transactions.Transaction.html b/10.0.0-alpha.1/classes/transactions.Transaction.html new file mode 100644 index 00000000..5db4b984 --- /dev/null +++ b/10.0.0-alpha.1/classes/transactions.Transaction.html @@ -0,0 +1,61 @@ +Transaction | arangojs - v10.0.0-alpha.1

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

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.1/enums/collections.CollectionStatus.html b/10.0.0-alpha.1/enums/collections.CollectionStatus.html new file mode 100644 index 00000000..9a16b18e --- /dev/null +++ b/10.0.0-alpha.1/enums/collections.CollectionStatus.html @@ -0,0 +1,8 @@ +CollectionStatus | arangojs - v10.0.0-alpha.1

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.1/enums/collections.CollectionType.html b/10.0.0-alpha.1/enums/collections.CollectionType.html new file mode 100644 index 00000000..d5bf5c64 --- /dev/null +++ b/10.0.0-alpha.1/enums/collections.CollectionType.html @@ -0,0 +1,4 @@ +CollectionType | arangojs - v10.0.0-alpha.1

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.1/enums/logs.LogLevel.html b/10.0.0-alpha.1/enums/logs.LogLevel.html new file mode 100644 index 00000000..36006ae4 --- /dev/null +++ b/10.0.0-alpha.1/enums/logs.LogLevel.html @@ -0,0 +1,7 @@ +LogLevel | arangojs - v10.0.0-alpha.1

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.1/functions/analyzers.isArangoAnalyzer.html b/10.0.0-alpha.1/functions/analyzers.isArangoAnalyzer.html new file mode 100644 index 00000000..29006b9a --- /dev/null +++ b/10.0.0-alpha.1/functions/analyzers.isArangoAnalyzer.html @@ -0,0 +1,3 @@ +isArangoAnalyzer | arangojs - v10.0.0-alpha.1

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.1/functions/aql.aql.html b/10.0.0-alpha.1/functions/aql.aql.html new file mode 100644 index 00000000..1bd3ed16 --- /dev/null +++ b/10.0.0-alpha.1/functions/aql.aql.html @@ -0,0 +1,23 @@ +aql | arangojs - v10.0.0-alpha.1

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.1/functions/aql.isAqlLiteral.html b/10.0.0-alpha.1/functions/aql.isAqlLiteral.html new file mode 100644 index 00000000..f19f5c2b --- /dev/null +++ b/10.0.0-alpha.1/functions/aql.isAqlLiteral.html @@ -0,0 +1,3 @@ +isAqlLiteral | arangojs - v10.0.0-alpha.1

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.1/functions/aql.isAqlQuery.html b/10.0.0-alpha.1/functions/aql.isAqlQuery.html new file mode 100644 index 00000000..e7e7769e --- /dev/null +++ b/10.0.0-alpha.1/functions/aql.isAqlQuery.html @@ -0,0 +1,3 @@ +isAqlQuery | arangojs - v10.0.0-alpha.1

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.1/functions/aql.join.html b/10.0.0-alpha.1/functions/aql.join.html new file mode 100644 index 00000000..2855ab7c --- /dev/null +++ b/10.0.0-alpha.1/functions/aql.join.html @@ -0,0 +1,15 @@ +join | arangojs - v10.0.0-alpha.1

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.1/functions/aql.literal.html b/10.0.0-alpha.1/functions/aql.literal.html new file mode 100644 index 00000000..45f390ce --- /dev/null +++ b/10.0.0-alpha.1/functions/aql.literal.html @@ -0,0 +1,15 @@ +literal | arangojs - v10.0.0-alpha.1

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.1/functions/collections.collectionToString.html b/10.0.0-alpha.1/functions/collections.collectionToString.html new file mode 100644 index 00000000..01db420e --- /dev/null +++ b/10.0.0-alpha.1/functions/collections.collectionToString.html @@ -0,0 +1,4 @@ +collectionToString | arangojs - v10.0.0-alpha.1

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.1/functions/collections.isArangoCollection.html b/10.0.0-alpha.1/functions/collections.isArangoCollection.html new file mode 100644 index 00000000..c0666ce9 --- /dev/null +++ b/10.0.0-alpha.1/functions/collections.isArangoCollection.html @@ -0,0 +1,3 @@ +isArangoCollection | arangojs - v10.0.0-alpha.1

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.1/functions/configuration.isBearerAuth.html b/10.0.0-alpha.1/functions/configuration.isBearerAuth.html new file mode 100644 index 00000000..1cda80cc --- /dev/null +++ b/10.0.0-alpha.1/functions/configuration.isBearerAuth.html @@ -0,0 +1,2 @@ +isBearerAuth | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/functions/connection.getStatusMessage.html b/10.0.0-alpha.1/functions/connection.getStatusMessage.html new file mode 100644 index 00000000..fccf4b9b --- /dev/null +++ b/10.0.0-alpha.1/functions/connection.getStatusMessage.html @@ -0,0 +1,3 @@ +getStatusMessage | arangojs - v10.0.0-alpha.1

Function getStatusMessage

  • Returns the status message for the given response's status code or the +status text of the response.

    +

    Parameters

    Returns string

\ No newline at end of file diff --git a/10.0.0-alpha.1/functions/connection.isArangoErrorResponse.html b/10.0.0-alpha.1/functions/connection.isArangoErrorResponse.html new file mode 100644 index 00000000..b24c53b8 --- /dev/null +++ b/10.0.0-alpha.1/functions/connection.isArangoErrorResponse.html @@ -0,0 +1,2 @@ +isArangoErrorResponse | arangojs - v10.0.0-alpha.1

Function isArangoErrorResponse

  • Indicates whether the given value represents an ArangoDB error response.

    +

    Parameters

    • body: any

    Returns body is ArangoErrorResponse

\ No newline at end of file diff --git a/10.0.0-alpha.1/functions/connection.isRedirect.html b/10.0.0-alpha.1/functions/connection.isRedirect.html new file mode 100644 index 00000000..98e8ed37 --- /dev/null +++ b/10.0.0-alpha.1/functions/connection.isRedirect.html @@ -0,0 +1,2 @@ +isRedirect | arangojs - v10.0.0-alpha.1

Function isRedirect

  • Indicates whether the given status code represents a redirect.

    +

    Parameters

    Returns boolean

\ No newline at end of file diff --git a/10.0.0-alpha.1/functions/databases.isArangoDatabase.html b/10.0.0-alpha.1/functions/databases.isArangoDatabase.html new file mode 100644 index 00000000..557db5f8 --- /dev/null +++ b/10.0.0-alpha.1/functions/databases.isArangoDatabase.html @@ -0,0 +1,3 @@ +isArangoDatabase | arangojs - v10.0.0-alpha.1

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.1/functions/errors.isArangoError.html b/10.0.0-alpha.1/functions/errors.isArangoError.html new file mode 100644 index 00000000..774eb2d5 --- /dev/null +++ b/10.0.0-alpha.1/functions/errors.isArangoError.html @@ -0,0 +1,3 @@ +isArangoError | arangojs - v10.0.0-alpha.1

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.1/functions/errors.isNetworkError.html b/10.0.0-alpha.1/functions/errors.isNetworkError.html new file mode 100644 index 00000000..f8c58556 --- /dev/null +++ b/10.0.0-alpha.1/functions/errors.isNetworkError.html @@ -0,0 +1,3 @@ +isNetworkError | arangojs - v10.0.0-alpha.1

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.1/functions/graphs.isArangoGraph.html b/10.0.0-alpha.1/functions/graphs.isArangoGraph.html new file mode 100644 index 00000000..74447bb0 --- /dev/null +++ b/10.0.0-alpha.1/functions/graphs.isArangoGraph.html @@ -0,0 +1,3 @@ +isArangoGraph | arangojs - v10.0.0-alpha.1

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.1/functions/index.arangojs.html b/10.0.0-alpha.1/functions/index.arangojs.html new file mode 100644 index 00000000..26bdb374 --- /dev/null +++ b/10.0.0-alpha.1/functions/index.arangojs.html @@ -0,0 +1,12 @@ +arangojs | arangojs - v10.0.0-alpha.1

Function arangojs

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

    +

    This is a wrapper function for the :constructor.

    +

    Parameters

    • Optional config: ConfigOptions

      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 configuration.ConfigOptions.

      +
    • 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.1/functions/transactions.isArangoTransaction.html b/10.0.0-alpha.1/functions/transactions.isArangoTransaction.html new file mode 100644 index 00000000..8f289ca5 --- /dev/null +++ b/10.0.0-alpha.1/functions/transactions.isArangoTransaction.html @@ -0,0 +1,3 @@ +isArangoTransaction | arangojs - v10.0.0-alpha.1

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.1/functions/views.isArangoView.html b/10.0.0-alpha.1/functions/views.isArangoView.html new file mode 100644 index 00000000..9c691a85 --- /dev/null +++ b/10.0.0-alpha.1/functions/views.isArangoView.html @@ -0,0 +1,3 @@ +isArangoView | arangojs - v10.0.0-alpha.1

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.1/hierarchy.html b/10.0.0-alpha.1/hierarchy.html new file mode 100644 index 00000000..1e64057d --- /dev/null +++ b/10.0.0-alpha.1/hierarchy.html @@ -0,0 +1 @@ +arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/index.html b/10.0.0-alpha.1/index.html new file mode 100644 index 00000000..402e9e6c --- /dev/null +++ b/10.0.0-alpha.1/index.html @@ -0,0 +1,163 @@ +arangojs - v10.0.0-alpha.1

arangojs - v10.0.0-alpha.1

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.

+
  import { Database } from "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.

+

Unix domain sockets

If you want to use Unix domain sockets, you need to install the undici module, +which is an optional dependency of arangojs.

+
npm install --save undici
+
+

If the undici module is not installed and arangojs attempts to make a request +over a Unix domain socket, the request will fail with a plain Error with a +message indicating that the undici module is unavailable.

+

Node.js with self-signed HTTPS certificates

If you need to support self-signed HTTPS certificates in Node.js, you will need +to install the undici module, which is an optional dependency of arangojs.

+
npm install --save undici
+
+

You can instruct arangojs to use the undici module by setting the +config.agentOptions option:

+
  import { Database } from "arangojs";

const db = new Database({
url: ARANGODB_SERVER,
+ agentOptions: {
+ ca: [
+ fs.readFileSync(".ssl/sub.class1.server.ca.pem"),
+ fs.readFileSync(".ssl/ca.pem"),
+ ],
+ },
}); +
+

To override the global fetch agent instead, you can use the undici module's +setGlobalDispatcher method 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 this way, but note this has +extremely dangerous security implications:

+
  import { Database } from "arangojs";

const db = new Database({
url: ARANGODB_SERVER,
+ agentOptions: {
+ rejectUnauthorized: false,
+ },
}); +
+

The requirement to use the undici module to override these settings 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.1/interfaces/administration.QueueTimeMetrics.html b/10.0.0-alpha.1/interfaces/administration.QueueTimeMetrics.html new file mode 100644 index 00000000..98182e71 --- /dev/null +++ b/10.0.0-alpha.1/interfaces/administration.QueueTimeMetrics.html @@ -0,0 +1,12 @@ +QueueTimeMetrics | arangojs - v10.0.0-alpha.1

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.1/interfaces/aql.AqlLiteral.html b/10.0.0-alpha.1/interfaces/aql.AqlLiteral.html new file mode 100644 index 00000000..2826f31c --- /dev/null +++ b/10.0.0-alpha.1/interfaces/aql.AqlLiteral.html @@ -0,0 +1,5 @@ +AqlLiteral | arangojs - v10.0.0-alpha.1

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.1/interfaces/aql.AqlQuery.html b/10.0.0-alpha.1/interfaces/aql.AqlQuery.html new file mode 100644 index 00000000..4d763893 --- /dev/null +++ b/10.0.0-alpha.1/interfaces/aql.AqlQuery.html @@ -0,0 +1,10 @@ +AqlQuery | arangojs - v10.0.0-alpha.1

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.1/interfaces/collections.ArangoCollection.html b/10.0.0-alpha.1/interfaces/collections.ArangoCollection.html new file mode 100644 index 00000000..ef731e61 --- /dev/null +++ b/10.0.0-alpha.1/interfaces/collections.ArangoCollection.html @@ -0,0 +1,6 @@ +ArangoCollection | arangojs - v10.0.0-alpha.1

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.1/interfaces/collections.DocumentCollection.html b/10.0.0-alpha.1/interfaces/collections.DocumentCollection.html new file mode 100644 index 00000000..a2d0aef4 --- /dev/null +++ b/10.0.0-alpha.1/interfaces/collections.DocumentCollection.html @@ -0,0 +1,296 @@ +DocumentCollection | arangojs - v10.0.0-alpha.1

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

      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 +
    +
  • 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.1/interfaces/collections.EdgeCollection.html b/10.0.0-alpha.1/interfaces/collections.EdgeCollection.html new file mode 100644 index 00000000..a139233e --- /dev/null +++ b/10.0.0-alpha.1/interfaces/collections.EdgeCollection.html @@ -0,0 +1,326 @@ +EdgeCollection | arangojs - v10.0.0-alpha.1

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

  • 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?: "auto" | "documents" | "list";
      }

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

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.1/interfaces/cursors.BatchCursorItemsView.html b/10.0.0-alpha.1/interfaces/cursors.BatchCursorItemsView.html new file mode 100644 index 00000000..c9884f84 --- /dev/null +++ b/10.0.0-alpha.1/interfaces/cursors.BatchCursorItemsView.html @@ -0,0 +1,5 @@ +BatchCursorItemsView | arangojs - v10.0.0-alpha.1

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.1/interfaces/views.CreateArangoSearchViewStoredValueOptions.html b/10.0.0-alpha.1/interfaces/views.CreateArangoSearchViewStoredValueOptions.html new file mode 100644 index 00000000..cfbdd14e --- /dev/null +++ b/10.0.0-alpha.1/interfaces/views.CreateArangoSearchViewStoredValueOptions.html @@ -0,0 +1,12 @@ +CreateArangoSearchViewStoredValueOptions | arangojs - v10.0.0-alpha.1

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

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.1/modules/analyzers.html b/10.0.0-alpha.1/modules/analyzers.html new file mode 100644 index 00000000..e3997297 --- /dev/null +++ b/10.0.0-alpha.1/modules/analyzers.html @@ -0,0 +1,54 @@ +analyzers | arangojs - v10.0.0-alpha.1

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.1/modules/aql.html b/10.0.0-alpha.1/modules/aql.html new file mode 100644 index 00000000..9ad16318 --- /dev/null +++ b/10.0.0-alpha.1/modules/aql.html @@ -0,0 +1,14 @@ +aql | arangojs - v10.0.0-alpha.1

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

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.1/modules/collections.html b/10.0.0-alpha.1/modules/collections.html new file mode 100644 index 00000000..623253ed --- /dev/null +++ b/10.0.0-alpha.1/modules/collections.html @@ -0,0 +1,29 @@ +collections | arangojs - v10.0.0-alpha.1

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.1/modules/configuration.html b/10.0.0-alpha.1/modules/configuration.html new file mode 100644 index 00000000..02285304 --- /dev/null +++ b/10.0.0-alpha.1/modules/configuration.html @@ -0,0 +1,10 @@ +configuration | arangojs - v10.0.0-alpha.1

Module configuration

import type { ConfigOptions } from "arangojs/configuration";
+
+

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

+

Index

Type Aliases

Functions

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

Module connection

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

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

+

Index

Interfaces

Type Aliases

Functions

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

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.1/modules/databases.html b/10.0.0-alpha.1/modules/databases.html new file mode 100644 index 00000000..69952884 --- /dev/null +++ b/10.0.0-alpha.1/modules/databases.html @@ -0,0 +1,10 @@ +databases | arangojs - v10.0.0-alpha.1

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.1/modules/documents.html b/10.0.0-alpha.1/modules/documents.html new file mode 100644 index 00000000..b295a345 --- /dev/null +++ b/10.0.0-alpha.1/modules/documents.html @@ -0,0 +1,27 @@ +documents | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/modules/errors.html b/10.0.0-alpha.1/modules/errors.html new file mode 100644 index 00000000..62f2f6a5 --- /dev/null +++ b/10.0.0-alpha.1/modules/errors.html @@ -0,0 +1,14 @@ +errors | arangojs - v10.0.0-alpha.1

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.1/modules/foxx_manifest.html b/10.0.0-alpha.1/modules/foxx_manifest.html new file mode 100644 index 00000000..ce642ef7 --- /dev/null +++ b/10.0.0-alpha.1/modules/foxx_manifest.html @@ -0,0 +1,10 @@ +foxx-manifest | arangojs - v10.0.0-alpha.1

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

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.1/modules/hot_backups.html b/10.0.0-alpha.1/modules/hot_backups.html new file mode 100644 index 00000000..43cf355f --- /dev/null +++ b/10.0.0-alpha.1/modules/hot_backups.html @@ -0,0 +1,7 @@ +hot-backups | arangojs - v10.0.0-alpha.1

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.1/modules/index.html b/10.0.0-alpha.1/modules/index.html new file mode 100644 index 00000000..35957e41 --- /dev/null +++ b/10.0.0-alpha.1/modules/index.html @@ -0,0 +1,12 @@ +index | arangojs - v10.0.0-alpha.1

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

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.1/modules/logs.html b/10.0.0-alpha.1/modules/logs.html new file mode 100644 index 00000000..9cfbc462 --- /dev/null +++ b/10.0.0-alpha.1/modules/logs.html @@ -0,0 +1,11 @@ +logs | arangojs - v10.0.0-alpha.1

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.1/modules/queries.html b/10.0.0-alpha.1/modules/queries.html new file mode 100644 index 00000000..76e80228 --- /dev/null +++ b/10.0.0-alpha.1/modules/queries.html @@ -0,0 +1,17 @@ +queries | arangojs - v10.0.0-alpha.1

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.1/modules/routes.html b/10.0.0-alpha.1/modules/routes.html new file mode 100644 index 00000000..1e3fdc9b --- /dev/null +++ b/10.0.0-alpha.1/modules/routes.html @@ -0,0 +1,6 @@ +routes | arangojs - v10.0.0-alpha.1

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.1/modules/services.html b/10.0.0-alpha.1/modules/services.html new file mode 100644 index 00000000..3b3cdbf6 --- /dev/null +++ b/10.0.0-alpha.1/modules/services.html @@ -0,0 +1,25 @@ +services | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/modules/transactions.html b/10.0.0-alpha.1/modules/transactions.html new file mode 100644 index 00000000..471d4cbd --- /dev/null +++ b/10.0.0-alpha.1/modules/transactions.html @@ -0,0 +1,13 @@ +transactions | arangojs - v10.0.0-alpha.1

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

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.1/modules/views.html b/10.0.0-alpha.1/modules/views.html new file mode 100644 index 00000000..1a76481f --- /dev/null +++ b/10.0.0-alpha.1/modules/views.html @@ -0,0 +1,34 @@ +views | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/administration.ClusterSupportInfo.html b/10.0.0-alpha.1/types/administration.ClusterSupportInfo.html new file mode 100644 index 00000000..d60e9627 --- /dev/null +++ b/10.0.0-alpha.1/types/administration.ClusterSupportInfo.html @@ -0,0 +1,24 @@ +ClusterSupportInfo | arangojs - v10.0.0-alpha.1

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.1/types/administration.EngineInfo.html b/10.0.0-alpha.1/types/administration.EngineInfo.html new file mode 100644 index 00000000..1e44fed4 --- /dev/null +++ b/10.0.0-alpha.1/types/administration.EngineInfo.html @@ -0,0 +1,8 @@ +EngineInfo | arangojs - v10.0.0-alpha.1
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.1/types/administration.ServerAvailability.html b/10.0.0-alpha.1/types/administration.ServerAvailability.html new file mode 100644 index 00000000..fca14eed --- /dev/null +++ b/10.0.0-alpha.1/types/administration.ServerAvailability.html @@ -0,0 +1,10 @@ +ServerAvailability | arangojs - v10.0.0-alpha.1

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.1/types/administration.ServerStatusInformation.html b/10.0.0-alpha.1/types/administration.ServerStatusInformation.html new file mode 100644 index 00000000..4a910e70 --- /dev/null +++ b/10.0.0-alpha.1/types/administration.ServerStatusInformation.html @@ -0,0 +1,41 @@ +ServerStatusInformation | arangojs - v10.0.0-alpha.1

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.1/types/administration.SingleServerSupportInfo.html b/10.0.0-alpha.1/types/administration.SingleServerSupportInfo.html new file mode 100644 index 00000000..36397d29 --- /dev/null +++ b/10.0.0-alpha.1/types/administration.SingleServerSupportInfo.html @@ -0,0 +1,11 @@ +SingleServerSupportInfo | arangojs - v10.0.0-alpha.1

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.1/types/administration.VersionInfo.html b/10.0.0-alpha.1/types/administration.VersionInfo.html new file mode 100644 index 00000000..bbf59cee --- /dev/null +++ b/10.0.0-alpha.1/types/administration.VersionInfo.html @@ -0,0 +1,6 @@ +VersionInfo | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.AnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.AnalyzerDescription.html new file mode 100644 index 00000000..48653b56 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.AnalyzerDescription.html @@ -0,0 +1,2 @@ +AnalyzerDescription | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/analyzers.AnalyzerFeature.html b/10.0.0-alpha.1/types/analyzers.AnalyzerFeature.html new file mode 100644 index 00000000..32d5956e --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.AnalyzerFeature.html @@ -0,0 +1,2 @@ +AnalyzerFeature | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.AnalyzerType.html b/10.0.0-alpha.1/types/analyzers.AnalyzerType.html new file mode 100644 index 00000000..25a3b524 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.AnalyzerType.html @@ -0,0 +1,2 @@ +AnalyzerType | arangojs - v10.0.0-alpha.1

Type alias AnalyzerType

AnalyzerType: AnalyzerDescription["type"]

Type of an Analyzer.

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

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.1/types/analyzers.AqlReturnTokenType.html b/10.0.0-alpha.1/types/analyzers.AqlReturnTokenType.html new file mode 100644 index 00000000..4c28921d --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.AqlReturnTokenType.html @@ -0,0 +1,2 @@ +AqlReturnTokenType | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CaseConversion.html b/10.0.0-alpha.1/types/analyzers.CaseConversion.html new file mode 100644 index 00000000..e71779a4 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CaseConversion.html @@ -0,0 +1,2 @@ +CaseConversion | arangojs - v10.0.0-alpha.1

Type alias CaseConversion

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

Text case conversion type.

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

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.1/types/analyzers.CollationAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.CollationAnalyzerDescription.html new file mode 100644 index 00000000..49ac5c0b --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CollationAnalyzerDescription.html @@ -0,0 +1,2 @@ +CollationAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateAnalyzerOptions.html new file mode 100644 index 00000000..32cf7b38 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateAnalyzerOptions | arangojs - v10.0.0-alpha.1
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/analyzers.CreateAqlAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateAqlAnalyzerOptions.html new file mode 100644 index 00000000..c1ccb645 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateAqlAnalyzerOptions.html @@ -0,0 +1,14 @@ +CreateAqlAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateClassificationAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateClassificationAnalyzerOptions.html new file mode 100644 index 00000000..ef84e210 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateClassificationAnalyzerOptions.html @@ -0,0 +1,7 @@ +CreateClassificationAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateCollationAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateCollationAnalyzerOptions.html new file mode 100644 index 00000000..8a0529ac --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateCollationAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateCollationAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateDelimiterAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateDelimiterAnalyzerOptions.html new file mode 100644 index 00000000..c15e20ae --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateDelimiterAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateDelimiterAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateGeoJsonAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateGeoJsonAnalyzerOptions.html new file mode 100644 index 00000000..aaef4769 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateGeoJsonAnalyzerOptions.html @@ -0,0 +1,9 @@ +CreateGeoJsonAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateGeoPointAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateGeoPointAnalyzerOptions.html new file mode 100644 index 00000000..71d14ba4 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateGeoPointAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateGeoPointAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateGeoS2AnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateGeoS2AnalyzerOptions.html new file mode 100644 index 00000000..f8a66b83 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateGeoS2AnalyzerOptions.html @@ -0,0 +1,16 @@ +CreateGeoS2AnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateIdentityAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateIdentityAnalyzerOptions.html new file mode 100644 index 00000000..7df55e50 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateIdentityAnalyzerOptions.html @@ -0,0 +1,2 @@ +CreateIdentityAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateMinHashAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateMinHashAnalyzerOptions.html new file mode 100644 index 00000000..02ff0e3b --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateMinHashAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateMinHashAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html new file mode 100644 index 00000000..93cd655f --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateMultiDelimiterAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateMultiDelimiterAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html new file mode 100644 index 00000000..c061e959 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateNearestNeighborsAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateNearestNeighborsAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateNgramAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateNgramAnalyzerOptions.html new file mode 100644 index 00000000..5dcab2b2 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateNgramAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateNgramAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateNormAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateNormAnalyzerOptions.html new file mode 100644 index 00000000..399c7195 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateNormAnalyzerOptions.html @@ -0,0 +1,8 @@ +CreateNormAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreatePipelineAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreatePipelineAnalyzerOptions.html new file mode 100644 index 00000000..7e7c77d0 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreatePipelineAnalyzerOptions.html @@ -0,0 +1,3 @@ +CreatePipelineAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateSegmentationAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateSegmentationAnalyzerOptions.html new file mode 100644 index 00000000..286e455b --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateSegmentationAnalyzerOptions.html @@ -0,0 +1,6 @@ +CreateSegmentationAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateStemAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateStemAnalyzerOptions.html new file mode 100644 index 00000000..7ca7e0ad --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateStemAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateStemAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateStopwordsAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateStopwordsAnalyzerOptions.html new file mode 100644 index 00000000..5e088b97 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateStopwordsAnalyzerOptions.html @@ -0,0 +1,5 @@ +CreateStopwordsAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateTextAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateTextAnalyzerOptions.html new file mode 100644 index 00000000..2ccf49ae --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateTextAnalyzerOptions.html @@ -0,0 +1,17 @@ +CreateTextAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.CreateWildcardAnalyzerOptions.html b/10.0.0-alpha.1/types/analyzers.CreateWildcardAnalyzerOptions.html new file mode 100644 index 00000000..4b17194c --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.CreateWildcardAnalyzerOptions.html @@ -0,0 +1,4 @@ +CreateWildcardAnalyzerOptions | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.DelimiterAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.DelimiterAnalyzerDescription.html new file mode 100644 index 00000000..4b527a4b --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.DelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +DelimiterAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.GeoJsonAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.GeoJsonAnalyzerDescription.html new file mode 100644 index 00000000..dc27b02d --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.GeoJsonAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoJsonAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.GeoPointAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.GeoPointAnalyzerDescription.html new file mode 100644 index 00000000..5ac4145a --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.GeoPointAnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoPointAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.GeoS2AnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.GeoS2AnalyzerDescription.html new file mode 100644 index 00000000..519772bd --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.GeoS2AnalyzerDescription.html @@ -0,0 +1,2 @@ +GeoS2AnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.GeoS2Format.html b/10.0.0-alpha.1/types/analyzers.GeoS2Format.html new file mode 100644 index 00000000..a3950df4 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.GeoS2Format.html @@ -0,0 +1,2 @@ +GeoS2Format | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.GeoType.html b/10.0.0-alpha.1/types/analyzers.GeoType.html new file mode 100644 index 00000000..48d9327a --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.GeoType.html @@ -0,0 +1,2 @@ +GeoType | arangojs - v10.0.0-alpha.1

Type alias GeoType

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

GeoJSON type.

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

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.1/types/analyzers.MinHashAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.MinHashAnalyzerDescription.html new file mode 100644 index 00000000..97ae86ae --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.MinHashAnalyzerDescription.html @@ -0,0 +1,2 @@ +MinHashAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.MultiDelimiterAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.MultiDelimiterAnalyzerDescription.html new file mode 100644 index 00000000..b644141e --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.MultiDelimiterAnalyzerDescription.html @@ -0,0 +1,2 @@ +MultiDelimiterAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.NearestNeighborsAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.NearestNeighborsAnalyzerDescription.html new file mode 100644 index 00000000..7eb1c938 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.NearestNeighborsAnalyzerDescription.html @@ -0,0 +1,2 @@ +NearestNeighborsAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.NgramAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.NgramAnalyzerDescription.html new file mode 100644 index 00000000..463bb044 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.NgramAnalyzerDescription.html @@ -0,0 +1,2 @@ +NgramAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.NormAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.NormAnalyzerDescription.html new file mode 100644 index 00000000..b5ba63cf --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.NormAnalyzerDescription.html @@ -0,0 +1,2 @@ +NormAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.PipelineAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.PipelineAnalyzerDescription.html new file mode 100644 index 00000000..5bd3ecce --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.PipelineAnalyzerDescription.html @@ -0,0 +1,2 @@ +PipelineAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.SegmentationAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.SegmentationAnalyzerDescription.html new file mode 100644 index 00000000..f4fbea06 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.SegmentationAnalyzerDescription.html @@ -0,0 +1,2 @@ +SegmentationAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.SegmentationTokenType.html b/10.0.0-alpha.1/types/analyzers.SegmentationTokenType.html new file mode 100644 index 00000000..37b578fb --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.SegmentationTokenType.html @@ -0,0 +1,2 @@ +SegmentationTokenType | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.StemAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.StemAnalyzerDescription.html new file mode 100644 index 00000000..0fcc4cc4 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.StemAnalyzerDescription.html @@ -0,0 +1,2 @@ +StemAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.StopwordsAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.StopwordsAnalyzerDescription.html new file mode 100644 index 00000000..50f8be15 --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.StopwordsAnalyzerDescription.html @@ -0,0 +1,2 @@ +StopwordsAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.TextAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.TextAnalyzerDescription.html new file mode 100644 index 00000000..0daa2fdb --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.TextAnalyzerDescription.html @@ -0,0 +1,2 @@ +TextAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/analyzers.WildcardAnalyzerDescription.html b/10.0.0-alpha.1/types/analyzers.WildcardAnalyzerDescription.html new file mode 100644 index 00000000..13e5c2aa --- /dev/null +++ b/10.0.0-alpha.1/types/analyzers.WildcardAnalyzerDescription.html @@ -0,0 +1,2 @@ +WildcardAnalyzerDescription | arangojs - v10.0.0-alpha.1

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.1/types/aql.AqlValue.html b/10.0.0-alpha.1/types/aql.AqlValue.html new file mode 100644 index 00000000..bfc50bc7 --- /dev/null +++ b/10.0.0-alpha.1/types/aql.AqlValue.html @@ -0,0 +1,3 @@ +AqlValue | arangojs - v10.0.0-alpha.1

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.1/types/cluster.ClusterImbalanceInfo.html b/10.0.0-alpha.1/types/cluster.ClusterImbalanceInfo.html new file mode 100644 index 00000000..f7005e0d --- /dev/null +++ b/10.0.0-alpha.1/types/cluster.ClusterImbalanceInfo.html @@ -0,0 +1,18 @@ +ClusterImbalanceInfo | arangojs - v10.0.0-alpha.1

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.1/types/cluster.ClusterRebalanceMove.html b/10.0.0-alpha.1/types/cluster.ClusterRebalanceMove.html new file mode 100644 index 00000000..2679baf0 --- /dev/null +++ b/10.0.0-alpha.1/types/cluster.ClusterRebalanceMove.html @@ -0,0 +1,6 @@ +ClusterRebalanceMove | arangojs - v10.0.0-alpha.1

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.1/types/cluster.ClusterRebalanceOptions.html b/10.0.0-alpha.1/types/cluster.ClusterRebalanceOptions.html new file mode 100644 index 00000000..297e44d4 --- /dev/null +++ b/10.0.0-alpha.1/types/cluster.ClusterRebalanceOptions.html @@ -0,0 +1,15 @@ +ClusterRebalanceOptions | arangojs - v10.0.0-alpha.1

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.1/types/cluster.ClusterRebalanceResult.html b/10.0.0-alpha.1/types/cluster.ClusterRebalanceResult.html new file mode 100644 index 00000000..35e49a97 --- /dev/null +++ b/10.0.0-alpha.1/types/cluster.ClusterRebalanceResult.html @@ -0,0 +1,5 @@ +ClusterRebalanceResult | arangojs - v10.0.0-alpha.1

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.1/types/cluster.ClusterRebalanceState.html b/10.0.0-alpha.1/types/cluster.ClusterRebalanceState.html new file mode 100644 index 00000000..0d4d362b --- /dev/null +++ b/10.0.0-alpha.1/types/cluster.ClusterRebalanceState.html @@ -0,0 +1,4 @@ +ClusterRebalanceState | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionChecksumOptions.html b/10.0.0-alpha.1/types/collections.CollectionChecksumOptions.html new file mode 100644 index 00000000..8078f93c --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionChecksumOptions.html @@ -0,0 +1,8 @@ +CollectionChecksumOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionDescription.html b/10.0.0-alpha.1/types/collections.CollectionDescription.html new file mode 100644 index 00000000..7ed159b8 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionDescription.html @@ -0,0 +1,6 @@ +CollectionDescription | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionKeyOptions.html b/10.0.0-alpha.1/types/collections.CollectionKeyOptions.html new file mode 100644 index 00000000..f489e181 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionKeyOptions.html @@ -0,0 +1,8 @@ +CollectionKeyOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionKeyProperties.html b/10.0.0-alpha.1/types/collections.CollectionKeyProperties.html new file mode 100644 index 00000000..8b1499d7 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionKeyProperties.html @@ -0,0 +1,7 @@ +CollectionKeyProperties | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionProperties.html b/10.0.0-alpha.1/types/collections.CollectionProperties.html new file mode 100644 index 00000000..dfc360b3 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionProperties.html @@ -0,0 +1,25 @@ +CollectionProperties | arangojs - v10.0.0-alpha.1

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.1/types/collections.CollectionPropertiesOptions.html b/10.0.0-alpha.1/types/collections.CollectionPropertiesOptions.html new file mode 100644 index 00000000..b5c698d2 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CollectionPropertiesOptions.html @@ -0,0 +1,14 @@ +CollectionPropertiesOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.ComputedValueOptions.html b/10.0.0-alpha.1/types/collections.ComputedValueOptions.html new file mode 100644 index 00000000..fb60bbb8 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.ComputedValueOptions.html @@ -0,0 +1,17 @@ +ComputedValueOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.ComputedValueProperties.html b/10.0.0-alpha.1/types/collections.ComputedValueProperties.html new file mode 100644 index 00000000..965287c0 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.ComputedValueProperties.html @@ -0,0 +1,12 @@ +ComputedValueProperties | arangojs - v10.0.0-alpha.1

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.1/types/collections.CreateCollectionOptions.html b/10.0.0-alpha.1/types/collections.CreateCollectionOptions.html new file mode 100644 index 00000000..1de2cca3 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.CreateCollectionOptions.html @@ -0,0 +1,23 @@ +CreateCollectionOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.DropCollectionOptions.html b/10.0.0-alpha.1/types/collections.DropCollectionOptions.html new file mode 100644 index 00000000..0f0f0e89 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.DropCollectionOptions.html @@ -0,0 +1,6 @@ +DropCollectionOptions | arangojs - v10.0.0-alpha.1

Type alias DropCollectionOptions

DropCollectionOptions: {
    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.1/types/collections.KeyGenerator.html b/10.0.0-alpha.1/types/collections.KeyGenerator.html new file mode 100644 index 00000000..04cdd411 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.KeyGenerator.html @@ -0,0 +1,2 @@ +KeyGenerator | arangojs - v10.0.0-alpha.1

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.1/types/collections.SchemaOptions.html b/10.0.0-alpha.1/types/collections.SchemaOptions.html new file mode 100644 index 00000000..04b26be1 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.SchemaOptions.html @@ -0,0 +1,6 @@ +SchemaOptions | arangojs - v10.0.0-alpha.1

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.1/types/collections.SchemaProperties.html b/10.0.0-alpha.1/types/collections.SchemaProperties.html new file mode 100644 index 00000000..6f9dfe8d --- /dev/null +++ b/10.0.0-alpha.1/types/collections.SchemaProperties.html @@ -0,0 +1,6 @@ +SchemaProperties | arangojs - v10.0.0-alpha.1

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.1/types/collections.ShardingStrategy.html b/10.0.0-alpha.1/types/collections.ShardingStrategy.html new file mode 100644 index 00000000..a1893e65 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.ShardingStrategy.html @@ -0,0 +1,2 @@ +ShardingStrategy | arangojs - v10.0.0-alpha.1

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.1/types/collections.TruncateCollectionOptions.html b/10.0.0-alpha.1/types/collections.TruncateCollectionOptions.html new file mode 100644 index 00000000..9ad6cb46 --- /dev/null +++ b/10.0.0-alpha.1/types/collections.TruncateCollectionOptions.html @@ -0,0 +1,5 @@ +TruncateCollectionOptions | arangojs - v10.0.0-alpha.1

Type alias TruncateCollectionOptions

TruncateCollectionOptions: {
    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.1/types/collections.ValidationLevel.html b/10.0.0-alpha.1/types/collections.ValidationLevel.html new file mode 100644 index 00000000..604ec5fa --- /dev/null +++ b/10.0.0-alpha.1/types/collections.ValidationLevel.html @@ -0,0 +1,9 @@ +ValidationLevel | arangojs - v10.0.0-alpha.1

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.1/types/collections.WriteOperation.html b/10.0.0-alpha.1/types/collections.WriteOperation.html new file mode 100644 index 00000000..08b6dcfa --- /dev/null +++ b/10.0.0-alpha.1/types/collections.WriteOperation.html @@ -0,0 +1,2 @@ +WriteOperation | arangojs - v10.0.0-alpha.1

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.1/types/configuration.BasicAuthCredentials.html b/10.0.0-alpha.1/types/configuration.BasicAuthCredentials.html new file mode 100644 index 00000000..7dd4bc9f --- /dev/null +++ b/10.0.0-alpha.1/types/configuration.BasicAuthCredentials.html @@ -0,0 +1,4 @@ +BasicAuthCredentials | arangojs - v10.0.0-alpha.1

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.1/types/configuration.BearerAuthCredentials.html b/10.0.0-alpha.1/types/configuration.BearerAuthCredentials.html new file mode 100644 index 00000000..32c2f980 --- /dev/null +++ b/10.0.0-alpha.1/types/configuration.BearerAuthCredentials.html @@ -0,0 +1,3 @@ +BearerAuthCredentials | arangojs - v10.0.0-alpha.1

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.1/types/configuration.ConfigOptions.html b/10.0.0-alpha.1/types/configuration.ConfigOptions.html new file mode 100644 index 00000000..2acfb799 --- /dev/null +++ b/10.0.0-alpha.1/types/configuration.ConfigOptions.html @@ -0,0 +1,80 @@ +ConfigOptions | arangojs - v10.0.0-alpha.1

Type alias ConfigOptions

ConfigOptions: CommonRequestOptions & {
    agentOptions?: any;
    arangoVersion?: number;
    auth?: BasicAuthCredentials | BearerAuthCredentials;
    databaseName?: string;
    fetchOptions?: CommonFetchOptions;
    loadBalancingStrategy?: LoadBalancingStrategy;
    onError?: ((err) => void | Promise<void>);
    poolSize?: number;
    precaptureStackTraces?: boolean;
    responseQueueTimeSamples?: number;
    url?: string | string[];
}

Options for configuring arangojs.

+

Type declaration

  • Optional agentOptions?: any

    If set, arangojs will use the undici +package to make requests and the provided options will be used to create +the undici agent.

    +

    See the undici documentation +for more information on the available options.

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

    Name of the database to use.

    +

    Default: "_system"

    +
  • Optional fetchOptions?: CommonFetchOptions

    Default options to pass to the fetch function when making requests.

    +

    See the Fetch API specification +or the MDN Web Docs +for more information on the available options.

    +
  • 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 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 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.1/types/configuration.LoadBalancingStrategy.html b/10.0.0-alpha.1/types/configuration.LoadBalancingStrategy.html new file mode 100644 index 00000000..2d8cad4a --- /dev/null +++ b/10.0.0-alpha.1/types/configuration.LoadBalancingStrategy.html @@ -0,0 +1,13 @@ +LoadBalancingStrategy | arangojs - v10.0.0-alpha.1

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.1/types/connection.ArangoApiResponse.html b/10.0.0-alpha.1/types/connection.ArangoApiResponse.html new file mode 100644 index 00000000..ce39b845 --- /dev/null +++ b/10.0.0-alpha.1/types/connection.ArangoApiResponse.html @@ -0,0 +1,2 @@ +ArangoApiResponse | arangojs - v10.0.0-alpha.1

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.1/types/connection.ArangoErrorResponse.html b/10.0.0-alpha.1/types/connection.ArangoErrorResponse.html new file mode 100644 index 00000000..58889e47 --- /dev/null +++ b/10.0.0-alpha.1/types/connection.ArangoErrorResponse.html @@ -0,0 +1,8 @@ +ArangoErrorResponse | arangojs - v10.0.0-alpha.1

Type alias ArangoErrorResponse

ArangoErrorResponse: {
    code: number;
    error: true;
    errorMessage: string;
    errorNum: number;
}

Interface representing an ArangoDB error response.

+

Type declaration

  • code: number

    Intended response status code as provided in the response body.

    +
  • error: true

    Indicates that the request resulted in an error.

    +
  • errorMessage: string

    Error message as provided in the response body.

    +
  • errorNum: number

    ArangoDB error code as provided in the response body.

    +

    See the ArangoDB error documentation +for more information.

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

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.1/types/connection.CommonFetchOptions.html b/10.0.0-alpha.1/types/connection.CommonFetchOptions.html new file mode 100644 index 00000000..172ce2e7 --- /dev/null +++ b/10.0.0-alpha.1/types/connection.CommonFetchOptions.html @@ -0,0 +1,49 @@ +CommonFetchOptions | arangojs - v10.0.0-alpha.1

Type alias CommonFetchOptions

CommonFetchOptions: {
    attributionReporting?: any;
    cache?: string;
    credentials?: "omit" | "include" | "same-origin";
    dispatcher?: any;
    headers?: string[][] | Record<string, string | ReadonlyArray<string>> | Headers;
    keepalive?: boolean;
    mode?: string;
    priority?: "low" | "high" | "auto";
    redirect?: "error" | "follow" | "manual";
    referrer?: string;
    referrerPolicy?: string;
}

Options available for requests made with the Fetch API.

+

Type declaration

  • Optional attributionReporting?: any

    (Browser only.) Controls the Attribution Reporting API specific behavior.

    +

    See the MDN Web Docs +for more information on the available options.

    +
  • Optional cache?: string

    (Browser only.) Cache mode to use for the request.

    +

    See the Fetch API specification +or the MDN Web Docs +for more information on the available options.

    +
  • Optional credentials?: "omit" | "include" | "same-origin"

    (Browser only.) Controls sending of credentials and cookies.

    +
      +
    • "omit": Never send cookies.
    • +
    • "include": Always send cookies.
    • +
    • "same-origin": Only send cookies if the request is to the same origin.
    • +
    +

    Default: "same-origin"

    +
  • Optional dispatcher?: any

    (Node.js only.) Undici Dispatcher instance to use for the request.

    +

    Defaults to the global dispatcher.

    +
  • Optional headers?: string[][] | Record<string, string | ReadonlyArray<string>> | Headers

    Headers object containing any additional headers to send with the request.

    +

    Note that the Authorization header will be overridden if the auth +configuration option is set.

    +
  • Optional keepalive?: boolean

    Controls whether the socket should be reused for subsequent requests.

    +

    Default: false

    +
  • Optional mode?: string

    (Browser only.) Sets cross-origin behavior for the request.

    +

    See the Fetch API specification +or the MDN Web Docs +for more information on the available options.

    +

    Default: "cors"

    +
  • Optional priority?: "low" | "high" | "auto"

    (Browser only.) Request priority relative to other requests of the same type.

    +

    See the Fetch API specification +or the MDN Web Docs +for more information on the available options.

    +

    Default: "auto"

    +
  • Optional redirect?: "error" | "follow" | "manual"

    Controls what to do when the response status code is a redirect.

    +
      +
    • "error": Abort with a network error.
    • +
    • "follow": Automatically follow redirects.
    • +
    • "manual": Abort with an HttpError.
    • +
    +

    Default: "follow"

    +
  • Optional referrer?: string

    Value to use for the Referer header.

    +

    If set to "about:client", the default value for the context in which the +request is made will be used.

    +

    Default: "about:client"

    +
  • Optional referrerPolicy?: string

    (Browser only.) Policy to use for the Referer header, equivalent to the +semantics of the Referrer-Policy header.

    +

    See the Fetch API specification +or the MDN Web Docs +for more information on the available options.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/connection.CommonRequestOptions.html b/10.0.0-alpha.1/types/connection.CommonRequestOptions.html new file mode 100644 index 00000000..307e5f39 --- /dev/null +++ b/10.0.0-alpha.1/types/connection.CommonRequestOptions.html @@ -0,0 +1,43 @@ +CommonRequestOptions | arangojs - v10.0.0-alpha.1

Type alias CommonRequestOptions

CommonRequestOptions: {
    afterResponse?: ((err, res?) => void | Promise<void>);
    allowDirtyRead?: boolean;
    beforeRequest?: ((req) => void | Promise<void>);
    maxRetries?: false | number;
    retryOnConflict?: number;
    timeout?: number;
}

Options that can be shared globally for all requests made with 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 allowDirtyRead?: boolean

    Whether ArangoDB is allowed to perform a dirty read to respond to the +request. If set to true, the response may reflect a dirty state from +a non-authoritative server.

    +

    Default: false

    +
  • 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 maxRetries?: false | number

    Determines the behavior when a request fails because the underlying +connection to the server could not be opened +(e.g. 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 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 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.1/types/connection.FetchOptions.html b/10.0.0-alpha.1/types/connection.FetchOptions.html new file mode 100644 index 00000000..d1f64d19 --- /dev/null +++ b/10.0.0-alpha.1/types/connection.FetchOptions.html @@ -0,0 +1,4 @@ +FetchOptions | arangojs - v10.0.0-alpha.1

Type alias FetchOptions

FetchOptions: CommonFetchOptions & {
    integrity?: `${string}-${string}`;
}

Fetch-specific options for performing a request with arangojs.

+

Type declaration

  • Optional integrity?: `${string}-${string}`

    Subresource integrity value to use for the request, formatted as +<hash-algorithm>-<hash-source>.

    +
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/connection.RequestOptions.html b/10.0.0-alpha.1/types/connection.RequestOptions.html new file mode 100644 index 00000000..31ef205a --- /dev/null +++ b/10.0.0-alpha.1/types/connection.RequestOptions.html @@ -0,0 +1,15 @@ +RequestOptions | arangojs - v10.0.0-alpha.1

Type alias RequestOptions

RequestOptions: CommonRequestOptions & {
    body?: any;
    expectBinary?: boolean;
    fetchOptions?: Omit<FetchOptions, "headers">;
    headers?: string[][] | Record<string, string | ReadonlyArray<string>> | Headers;
    isBinary?: boolean;
    method?: string;
    pathname?: string;
    search?: URLSearchParams | Record<string, any>;
}

Options for performing a request with arangojs.

+

Type declaration

  • 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 fetchOptions?: Omit<FetchOptions, "headers">

    Additional options to pass to the fetch function.

    +
  • Optional headers?: string[][] | Record<string, string | ReadonlyArray<string>> | Headers

    Headers object containing any additional headers to send with the request.

    +

    Note that the Authorization header will be overridden if the auth +configuration option is set.

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

    URL path, relative to the server domain.

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

    URL parameters to pass as part of the query string.

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

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.1/types/cursors.CursorStats.html b/10.0.0-alpha.1/types/cursors.CursorStats.html new file mode 100644 index 00000000..8f2b91c0 --- /dev/null +++ b/10.0.0-alpha.1/types/cursors.CursorStats.html @@ -0,0 +1,18 @@ +CursorStats | arangojs - v10.0.0-alpha.1

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

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

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.1/types/documents.BulkReadDocumentsOptions.html b/10.0.0-alpha.1/types/documents.BulkReadDocumentsOptions.html new file mode 100644 index 00000000..2126d3a4 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.BulkReadDocumentsOptions.html @@ -0,0 +1,8 @@ +BulkReadDocumentsOptions | arangojs - v10.0.0-alpha.1

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.1/types/documents.Document.html b/10.0.0-alpha.1/types/documents.Document.html new file mode 100644 index 00000000..27720b4e --- /dev/null +++ b/10.0.0-alpha.1/types/documents.Document.html @@ -0,0 +1,2 @@ +Document | arangojs - v10.0.0-alpha.1

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.1/types/documents.DocumentData.html b/10.0.0-alpha.1/types/documents.DocumentData.html new file mode 100644 index 00000000..2ea11835 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentData.html @@ -0,0 +1,2 @@ +DocumentData | arangojs - v10.0.0-alpha.1

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.1/types/documents.DocumentEdgesOptions.html b/10.0.0-alpha.1/types/documents.DocumentEdgesOptions.html new file mode 100644 index 00000000..64fb6ab1 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentEdgesOptions.html @@ -0,0 +1,5 @@ +DocumentEdgesOptions | arangojs - v10.0.0-alpha.1

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

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

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.1/types/documents.DocumentMetadata.html b/10.0.0-alpha.1/types/documents.DocumentMetadata.html new file mode 100644 index 00000000..fbaa473e --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentMetadata.html @@ -0,0 +1,7 @@ +DocumentMetadata | arangojs - v10.0.0-alpha.1

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.1/types/documents.DocumentOperationFailure.html b/10.0.0-alpha.1/types/documents.DocumentOperationFailure.html new file mode 100644 index 00000000..f492e80a --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentOperationFailure.html @@ -0,0 +1,5 @@ +DocumentOperationFailure | arangojs - v10.0.0-alpha.1

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.1/types/documents.DocumentOperationMetadata.html b/10.0.0-alpha.1/types/documents.DocumentOperationMetadata.html new file mode 100644 index 00000000..4fb7b290 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentOperationMetadata.html @@ -0,0 +1,3 @@ +DocumentOperationMetadata | arangojs - v10.0.0-alpha.1

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.1/types/documents.DocumentSelector.html b/10.0.0-alpha.1/types/documents.DocumentSelector.html new file mode 100644 index 00000000..53c8d8e0 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.DocumentSelector.html @@ -0,0 +1,5 @@ +DocumentSelector | arangojs - v10.0.0-alpha.1

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.1/types/documents.Edge.html b/10.0.0-alpha.1/types/documents.Edge.html new file mode 100644 index 00000000..8ed7ae2e --- /dev/null +++ b/10.0.0-alpha.1/types/documents.Edge.html @@ -0,0 +1,2 @@ +Edge | arangojs - v10.0.0-alpha.1

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.1/types/documents.EdgeData.html b/10.0.0-alpha.1/types/documents.EdgeData.html new file mode 100644 index 00000000..cbb8ca2e --- /dev/null +++ b/10.0.0-alpha.1/types/documents.EdgeData.html @@ -0,0 +1,2 @@ +EdgeData | arangojs - v10.0.0-alpha.1

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.1/types/documents.EdgeMetadata.html b/10.0.0-alpha.1/types/documents.EdgeMetadata.html new file mode 100644 index 00000000..971afa05 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.EdgeMetadata.html @@ -0,0 +1,4 @@ +EdgeMetadata | arangojs - v10.0.0-alpha.1

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.1/types/documents.ImportDocumentsOptions.html b/10.0.0-alpha.1/types/documents.ImportDocumentsOptions.html new file mode 100644 index 00000000..49652ea9 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.ImportDocumentsOptions.html @@ -0,0 +1,19 @@ +ImportDocumentsOptions | arangojs - v10.0.0-alpha.1

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

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

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.1/types/documents.ObjectWithDocumentId.html b/10.0.0-alpha.1/types/documents.ObjectWithDocumentId.html new file mode 100644 index 00000000..06c90a5d --- /dev/null +++ b/10.0.0-alpha.1/types/documents.ObjectWithDocumentId.html @@ -0,0 +1,3 @@ +ObjectWithDocumentId | arangojs - v10.0.0-alpha.1

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.1/types/documents.ObjectWithDocumentKey.html b/10.0.0-alpha.1/types/documents.ObjectWithDocumentKey.html new file mode 100644 index 00000000..549317bc --- /dev/null +++ b/10.0.0-alpha.1/types/documents.ObjectWithDocumentKey.html @@ -0,0 +1,3 @@ +ObjectWithDocumentKey | arangojs - v10.0.0-alpha.1

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.1/types/documents.Patch.html b/10.0.0-alpha.1/types/documents.Patch.html new file mode 100644 index 00000000..0854e113 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.Patch.html @@ -0,0 +1,5 @@ +Patch | arangojs - v10.0.0-alpha.1

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.1/types/documents.ReadDocumentOptions.html b/10.0.0-alpha.1/types/documents.ReadDocumentOptions.html new file mode 100644 index 00000000..d4585ef7 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.ReadDocumentOptions.html @@ -0,0 +1,12 @@ +ReadDocumentOptions | arangojs - v10.0.0-alpha.1

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

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

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.1/types/documents.UpdateDocumentOptions.html b/10.0.0-alpha.1/types/documents.UpdateDocumentOptions.html new file mode 100644 index 00000000..21564a37 --- /dev/null +++ b/10.0.0-alpha.1/types/documents.UpdateDocumentOptions.html @@ -0,0 +1,33 @@ +UpdateDocumentOptions | arangojs - v10.0.0-alpha.1

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.1/types/foxx_manifest.Configuration.html b/10.0.0-alpha.1/types/foxx_manifest.Configuration.html new file mode 100644 index 00000000..200b3134 --- /dev/null +++ b/10.0.0-alpha.1/types/foxx_manifest.Configuration.html @@ -0,0 +1,6 @@ +Configuration | arangojs - v10.0.0-alpha.1

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.1/types/foxx_manifest.Dependency.html b/10.0.0-alpha.1/types/foxx_manifest.Dependency.html new file mode 100644 index 00000000..c491bb02 --- /dev/null +++ b/10.0.0-alpha.1/types/foxx_manifest.Dependency.html @@ -0,0 +1,7 @@ +Dependency | arangojs - v10.0.0-alpha.1

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.1/types/foxx_manifest.File.html b/10.0.0-alpha.1/types/foxx_manifest.File.html new file mode 100644 index 00000000..3db88475 --- /dev/null +++ b/10.0.0-alpha.1/types/foxx_manifest.File.html @@ -0,0 +1,5 @@ +File | arangojs - v10.0.0-alpha.1
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.1/types/foxx_manifest.FoxxManifest.html b/10.0.0-alpha.1/types/foxx_manifest.FoxxManifest.html new file mode 100644 index 00000000..4ef70d70 --- /dev/null +++ b/10.0.0-alpha.1/types/foxx_manifest.FoxxManifest.html @@ -0,0 +1,20 @@ +FoxxManifest | arangojs - v10.0.0-alpha.1

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

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

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.1/types/graphs.CreateGraphOptions.html b/10.0.0-alpha.1/types/graphs.CreateGraphOptions.html new file mode 100644 index 00000000..155036c5 --- /dev/null +++ b/10.0.0-alpha.1/types/graphs.CreateGraphOptions.html @@ -0,0 +1,25 @@ +CreateGraphOptions | arangojs - v10.0.0-alpha.1

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.1/types/graphs.EdgeDefinition.html b/10.0.0-alpha.1/types/graphs.EdgeDefinition.html new file mode 100644 index 00000000..76f98260 --- /dev/null +++ b/10.0.0-alpha.1/types/graphs.EdgeDefinition.html @@ -0,0 +1,5 @@ +EdgeDefinition | arangojs - v10.0.0-alpha.1

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.1/types/graphs.EdgeDefinitionOptions.html b/10.0.0-alpha.1/types/graphs.EdgeDefinitionOptions.html new file mode 100644 index 00000000..118f7138 --- /dev/null +++ b/10.0.0-alpha.1/types/graphs.EdgeDefinitionOptions.html @@ -0,0 +1,5 @@ +EdgeDefinitionOptions | arangojs - v10.0.0-alpha.1

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.1/types/graphs.GraphDescription.html b/10.0.0-alpha.1/types/graphs.GraphDescription.html new file mode 100644 index 00000000..2410ba69 --- /dev/null +++ b/10.0.0-alpha.1/types/graphs.GraphDescription.html @@ -0,0 +1,19 @@ +GraphDescription | arangojs - v10.0.0-alpha.1

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

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

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.1/types/graphs.RemoveGraphDocumentOptions.html b/10.0.0-alpha.1/types/graphs.RemoveGraphDocumentOptions.html new file mode 100644 index 00000000..88967d4c --- /dev/null +++ b/10.0.0-alpha.1/types/graphs.RemoveGraphDocumentOptions.html @@ -0,0 +1,10 @@ +RemoveGraphDocumentOptions | arangojs - v10.0.0-alpha.1

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

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

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.1/types/hot_backups.HotBackupList.html b/10.0.0-alpha.1/types/hot_backups.HotBackupList.html new file mode 100644 index 00000000..be7a7fe7 --- /dev/null +++ b/10.0.0-alpha.1/types/hot_backups.HotBackupList.html @@ -0,0 +1,2 @@ +HotBackupList | arangojs - v10.0.0-alpha.1

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.1/types/hot_backups.HotBackupOptions.html b/10.0.0-alpha.1/types/hot_backups.HotBackupOptions.html new file mode 100644 index 00000000..743680f1 --- /dev/null +++ b/10.0.0-alpha.1/types/hot_backups.HotBackupOptions.html @@ -0,0 +1,15 @@ +HotBackupOptions | arangojs - v10.0.0-alpha.1

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.1/types/hot_backups.HotBackupResult.html b/10.0.0-alpha.1/types/hot_backups.HotBackupResult.html new file mode 100644 index 00000000..3fefabbe --- /dev/null +++ b/10.0.0-alpha.1/types/hot_backups.HotBackupResult.html @@ -0,0 +1,2 @@ +HotBackupResult | arangojs - v10.0.0-alpha.1

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

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

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

Type alias EnsureIndexOptions

Options for creating an index.

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

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

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.1/types/indexes.EnsurePersistentIndexOptions.html b/10.0.0-alpha.1/types/indexes.EnsurePersistentIndexOptions.html new file mode 100644 index 00000000..fea71c76 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.EnsurePersistentIndexOptions.html @@ -0,0 +1,19 @@ +EnsurePersistentIndexOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.EnsureTtlIndexOptions.html b/10.0.0-alpha.1/types/indexes.EnsureTtlIndexOptions.html new file mode 100644 index 00000000..4faecb70 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.EnsureTtlIndexOptions.html @@ -0,0 +1,4 @@ +EnsureTtlIndexOptions | arangojs - v10.0.0-alpha.1

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

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.1/types/indexes.HiddenIndexDescription.html b/10.0.0-alpha.1/types/indexes.HiddenIndexDescription.html new file mode 100644 index 00000000..7f054194 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.HiddenIndexDescription.html @@ -0,0 +1,8 @@ +HiddenIndexDescription | arangojs - v10.0.0-alpha.1

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

Type alias IndexDescription

An object representing an index.

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

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

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

Type alias IndexType

IndexType: IndexDescription["type"]

Type of an index.

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

Type alias InternalIndexDescription

InternalIndexDescription: ArangosearchIndexDescription

An object representing an internal index.

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

Type alias InternalIndexType

InternalIndexType: InternalIndexDescription["type"]

Type of an internal index.

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

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

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.1/types/indexes.InvertedIndexFieldOptions.html b/10.0.0-alpha.1/types/indexes.InvertedIndexFieldOptions.html new file mode 100644 index 00000000..d3f1e890 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexFieldOptions.html @@ -0,0 +1,27 @@ +InvertedIndexFieldOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.InvertedIndexNestedField.html b/10.0.0-alpha.1/types/indexes.InvertedIndexNestedField.html new file mode 100644 index 00000000..9dc2a995 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexNestedField.html @@ -0,0 +1,3 @@ +InvertedIndexNestedField | arangojs - v10.0.0-alpha.1

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.1/types/indexes.InvertedIndexNestedFieldOptions.html b/10.0.0-alpha.1/types/indexes.InvertedIndexNestedFieldOptions.html new file mode 100644 index 00000000..7f6fd219 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexNestedFieldOptions.html @@ -0,0 +1,13 @@ +InvertedIndexNestedFieldOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.InvertedIndexPrimarySortFieldOptions.html b/10.0.0-alpha.1/types/indexes.InvertedIndexPrimarySortFieldOptions.html new file mode 100644 index 00000000..642f7faa --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexPrimarySortFieldOptions.html @@ -0,0 +1,4 @@ +InvertedIndexPrimarySortFieldOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.InvertedIndexPrimarySortOptions.html b/10.0.0-alpha.1/types/indexes.InvertedIndexPrimarySortOptions.html new file mode 100644 index 00000000..c5f39f55 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexPrimarySortOptions.html @@ -0,0 +1,8 @@ +InvertedIndexPrimarySortOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.InvertedIndexStoredValueOptions.html b/10.0.0-alpha.1/types/indexes.InvertedIndexStoredValueOptions.html new file mode 100644 index 00000000..2561ebd9 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.InvertedIndexStoredValueOptions.html @@ -0,0 +1,8 @@ +InvertedIndexStoredValueOptions | arangojs - v10.0.0-alpha.1

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.1/types/indexes.ListIndexesOptions.html b/10.0.0-alpha.1/types/indexes.ListIndexesOptions.html new file mode 100644 index 00000000..f9bbb205 --- /dev/null +++ b/10.0.0-alpha.1/types/indexes.ListIndexesOptions.html @@ -0,0 +1,9 @@ +ListIndexesOptions | arangojs - v10.0.0-alpha.1

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

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

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

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

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

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

Type alias SystemIndexDescription

SystemIndexDescription: PrimaryIndexDescription

An object representing a system index.

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

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.1/types/logs.LogEntries.html b/10.0.0-alpha.1/types/logs.LogEntries.html new file mode 100644 index 00000000..c374b336 --- /dev/null +++ b/10.0.0-alpha.1/types/logs.LogEntries.html @@ -0,0 +1,2 @@ +LogEntries | arangojs - v10.0.0-alpha.1

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.1/types/logs.LogEntriesOptions.html b/10.0.0-alpha.1/types/logs.LogEntriesOptions.html new file mode 100644 index 00000000..8116b9bb --- /dev/null +++ b/10.0.0-alpha.1/types/logs.LogEntriesOptions.html @@ -0,0 +1,13 @@ +LogEntriesOptions | arangojs - v10.0.0-alpha.1

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.1/types/logs.LogLevelLabel.html b/10.0.0-alpha.1/types/logs.LogLevelLabel.html new file mode 100644 index 00000000..e1a33eae --- /dev/null +++ b/10.0.0-alpha.1/types/logs.LogLevelLabel.html @@ -0,0 +1,2 @@ +LogLevelLabel | arangojs - v10.0.0-alpha.1

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.1/types/logs.LogLevelSetting.html b/10.0.0-alpha.1/types/logs.LogLevelSetting.html new file mode 100644 index 00000000..23f22be8 --- /dev/null +++ b/10.0.0-alpha.1/types/logs.LogLevelSetting.html @@ -0,0 +1,2 @@ +LogLevelSetting | arangojs - v10.0.0-alpha.1

Type alias LogLevelSetting

LogLevelSetting: LogLevelLabel | "DEFAULT"

Logging level setting.

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

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.1/types/logs.LogSortDirection.html b/10.0.0-alpha.1/types/logs.LogSortDirection.html new file mode 100644 index 00000000..49bfa9d3 --- /dev/null +++ b/10.0.0-alpha.1/types/logs.LogSortDirection.html @@ -0,0 +1,2 @@ +LogSortDirection | arangojs - v10.0.0-alpha.1

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.1/types/queries.AstNode.html b/10.0.0-alpha.1/types/queries.AstNode.html new file mode 100644 index 00000000..8b4502d2 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.AstNode.html @@ -0,0 +1,2 @@ +AstNode | arangojs - v10.0.0-alpha.1

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.1/types/queries.ExplainOptions.html b/10.0.0-alpha.1/types/queries.ExplainOptions.html new file mode 100644 index 00000000..48b8d66e --- /dev/null +++ b/10.0.0-alpha.1/types/queries.ExplainOptions.html @@ -0,0 +1,13 @@ +ExplainOptions | arangojs - v10.0.0-alpha.1

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.1/types/queries.ExplainPlan.html b/10.0.0-alpha.1/types/queries.ExplainPlan.html new file mode 100644 index 00000000..f962832e --- /dev/null +++ b/10.0.0-alpha.1/types/queries.ExplainPlan.html @@ -0,0 +1,9 @@ +ExplainPlan | arangojs - v10.0.0-alpha.1

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.1/types/queries.ExplainStats.html b/10.0.0-alpha.1/types/queries.ExplainStats.html new file mode 100644 index 00000000..2f6499a6 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.ExplainStats.html @@ -0,0 +1,7 @@ +ExplainStats | arangojs - v10.0.0-alpha.1

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.1/types/queries.MultiExplainResult.html b/10.0.0-alpha.1/types/queries.MultiExplainResult.html new file mode 100644 index 00000000..12632ef4 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.MultiExplainResult.html @@ -0,0 +1,6 @@ +MultiExplainResult | arangojs - v10.0.0-alpha.1

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.1/types/queries.ParseResult.html b/10.0.0-alpha.1/types/queries.ParseResult.html new file mode 100644 index 00000000..f87ed5c5 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.ParseResult.html @@ -0,0 +1,6 @@ +ParseResult | arangojs - v10.0.0-alpha.1

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.1/types/queries.QueryDescription.html b/10.0.0-alpha.1/types/queries.QueryDescription.html new file mode 100644 index 00000000..dc557250 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.QueryDescription.html @@ -0,0 +1,12 @@ +QueryDescription | arangojs - v10.0.0-alpha.1

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.1/types/queries.QueryOptimizerRule.html b/10.0.0-alpha.1/types/queries.QueryOptimizerRule.html new file mode 100644 index 00000000..007eb36a --- /dev/null +++ b/10.0.0-alpha.1/types/queries.QueryOptimizerRule.html @@ -0,0 +1,2 @@ +QueryOptimizerRule | arangojs - v10.0.0-alpha.1

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.1/types/queries.QueryOptions.html b/10.0.0-alpha.1/types/queries.QueryOptions.html new file mode 100644 index 00000000..ae389d9b --- /dev/null +++ b/10.0.0-alpha.1/types/queries.QueryOptions.html @@ -0,0 +1,80 @@ +QueryOptions | arangojs - v10.0.0-alpha.1

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.1/types/queries.QueryTrackingInfo.html b/10.0.0-alpha.1/types/queries.QueryTrackingInfo.html new file mode 100644 index 00000000..9172a713 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.QueryTrackingInfo.html @@ -0,0 +1,9 @@ +QueryTrackingInfo | arangojs - v10.0.0-alpha.1

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.1/types/queries.QueryTrackingOptions.html b/10.0.0-alpha.1/types/queries.QueryTrackingOptions.html new file mode 100644 index 00000000..48a9dd9d --- /dev/null +++ b/10.0.0-alpha.1/types/queries.QueryTrackingOptions.html @@ -0,0 +1,11 @@ +QueryTrackingOptions | arangojs - v10.0.0-alpha.1

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.1/types/queries.SingleExplainResult.html b/10.0.0-alpha.1/types/queries.SingleExplainResult.html new file mode 100644 index 00000000..c6151499 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.SingleExplainResult.html @@ -0,0 +1,6 @@ +SingleExplainResult | arangojs - v10.0.0-alpha.1

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.1/types/queries.UserFunctionDescription.html b/10.0.0-alpha.1/types/queries.UserFunctionDescription.html new file mode 100644 index 00000000..c2ed7003 --- /dev/null +++ b/10.0.0-alpha.1/types/queries.UserFunctionDescription.html @@ -0,0 +1,6 @@ +UserFunctionDescription | arangojs - v10.0.0-alpha.1

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.1/types/services.InstallServiceOptions.html b/10.0.0-alpha.1/types/services.InstallServiceOptions.html new file mode 100644 index 00000000..abc69188 --- /dev/null +++ b/10.0.0-alpha.1/types/services.InstallServiceOptions.html @@ -0,0 +1,15 @@ +InstallServiceOptions | arangojs - v10.0.0-alpha.1

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.1/types/services.MultiServiceDependency.html b/10.0.0-alpha.1/types/services.MultiServiceDependency.html new file mode 100644 index 00000000..e5e442d8 --- /dev/null +++ b/10.0.0-alpha.1/types/services.MultiServiceDependency.html @@ -0,0 +1,10 @@ +MultiServiceDependency | arangojs - v10.0.0-alpha.1

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.1/types/services.ReplaceServiceOptions.html b/10.0.0-alpha.1/types/services.ReplaceServiceOptions.html new file mode 100644 index 00000000..6f10067a --- /dev/null +++ b/10.0.0-alpha.1/types/services.ReplaceServiceOptions.html @@ -0,0 +1,21 @@ +ReplaceServiceOptions | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceConfiguration.html b/10.0.0-alpha.1/types/services.ServiceConfiguration.html new file mode 100644 index 00000000..b12543bb --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceConfiguration.html @@ -0,0 +1,15 @@ +ServiceConfiguration | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceDescription.html b/10.0.0-alpha.1/types/services.ServiceDescription.html new file mode 100644 index 00000000..fd1e47f3 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceDescription.html @@ -0,0 +1,13 @@ +ServiceDescription | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceSummary.html b/10.0.0-alpha.1/types/services.ServiceSummary.html new file mode 100644 index 00000000..b7c345a4 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceSummary.html @@ -0,0 +1,9 @@ +ServiceSummary | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestDefaultReport.html b/10.0.0-alpha.1/types/services.ServiceTestDefaultReport.html new file mode 100644 index 00000000..045e9e8c --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestDefaultReport.html @@ -0,0 +1,2 @@ +ServiceTestDefaultReport | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestDefaultTest.html b/10.0.0-alpha.1/types/services.ServiceTestDefaultTest.html new file mode 100644 index 00000000..922f99b2 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestDefaultTest.html @@ -0,0 +1,2 @@ +ServiceTestDefaultTest | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestStats.html b/10.0.0-alpha.1/types/services.ServiceTestStats.html new file mode 100644 index 00000000..d2faa6c8 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestStats.html @@ -0,0 +1,7 @@ +ServiceTestStats | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestStreamReport.html b/10.0.0-alpha.1/types/services.ServiceTestStreamReport.html new file mode 100644 index 00000000..1a86d212 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestStreamReport.html @@ -0,0 +1,2 @@ +ServiceTestStreamReport | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestStreamTest.html b/10.0.0-alpha.1/types/services.ServiceTestStreamTest.html new file mode 100644 index 00000000..b4071ae6 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestStreamTest.html @@ -0,0 +1,2 @@ +ServiceTestStreamTest | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestSuite.html b/10.0.0-alpha.1/types/services.ServiceTestSuite.html new file mode 100644 index 00000000..27bea282 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestSuite.html @@ -0,0 +1,2 @@ +ServiceTestSuite | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestSuiteReport.html b/10.0.0-alpha.1/types/services.ServiceTestSuiteReport.html new file mode 100644 index 00000000..b53e5deb --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestSuiteReport.html @@ -0,0 +1,2 @@ +ServiceTestSuiteReport | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestSuiteTest.html b/10.0.0-alpha.1/types/services.ServiceTestSuiteTest.html new file mode 100644 index 00000000..ff3dbf46 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestSuiteTest.html @@ -0,0 +1,2 @@ +ServiceTestSuiteTest | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestTapReport.html b/10.0.0-alpha.1/types/services.ServiceTestTapReport.html new file mode 100644 index 00000000..58a2a99d --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestTapReport.html @@ -0,0 +1,2 @@ +ServiceTestTapReport | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestXunitReport.html b/10.0.0-alpha.1/types/services.ServiceTestXunitReport.html new file mode 100644 index 00000000..33b35813 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestXunitReport.html @@ -0,0 +1,3 @@ +ServiceTestXunitReport | arangojs - v10.0.0-alpha.1

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.1/types/services.ServiceTestXunitTest.html b/10.0.0-alpha.1/types/services.ServiceTestXunitTest.html new file mode 100644 index 00000000..04757953 --- /dev/null +++ b/10.0.0-alpha.1/types/services.ServiceTestXunitTest.html @@ -0,0 +1,3 @@ +ServiceTestXunitTest | arangojs - v10.0.0-alpha.1

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.1/types/services.SingleServiceDependency.html b/10.0.0-alpha.1/types/services.SingleServiceDependency.html new file mode 100644 index 00000000..04f341b8 --- /dev/null +++ b/10.0.0-alpha.1/types/services.SingleServiceDependency.html @@ -0,0 +1,10 @@ +SingleServiceDependency | arangojs - v10.0.0-alpha.1

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.1/types/services.SwaggerJson.html b/10.0.0-alpha.1/types/services.SwaggerJson.html new file mode 100644 index 00000000..eaed2eab --- /dev/null +++ b/10.0.0-alpha.1/types/services.SwaggerJson.html @@ -0,0 +1,2 @@ +SwaggerJson | arangojs - v10.0.0-alpha.1

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.1/types/services.UninstallServiceOptions.html b/10.0.0-alpha.1/types/services.UninstallServiceOptions.html new file mode 100644 index 00000000..37f8da21 --- /dev/null +++ b/10.0.0-alpha.1/types/services.UninstallServiceOptions.html @@ -0,0 +1,9 @@ +UninstallServiceOptions | arangojs - v10.0.0-alpha.1

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.1/types/services.UpgradeServiceOptions.html b/10.0.0-alpha.1/types/services.UpgradeServiceOptions.html new file mode 100644 index 00000000..f5905a43 --- /dev/null +++ b/10.0.0-alpha.1/types/services.UpgradeServiceOptions.html @@ -0,0 +1,21 @@ +UpgradeServiceOptions | arangojs - v10.0.0-alpha.1

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

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

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

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

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

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.1/types/transactions.TransactionOptions.html b/10.0.0-alpha.1/types/transactions.TransactionOptions.html new file mode 100644 index 00000000..788dd1cf --- /dev/null +++ b/10.0.0-alpha.1/types/transactions.TransactionOptions.html @@ -0,0 +1,18 @@ +TransactionOptions | arangojs - v10.0.0-alpha.1

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.1/types/users.AccessLevel.html b/10.0.0-alpha.1/types/users.AccessLevel.html new file mode 100644 index 00000000..bed5c262 --- /dev/null +++ b/10.0.0-alpha.1/types/users.AccessLevel.html @@ -0,0 +1,2 @@ +AccessLevel | arangojs - v10.0.0-alpha.1

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.1/types/users.ArangoUser.html b/10.0.0-alpha.1/types/users.ArangoUser.html new file mode 100644 index 00000000..4446a3f4 --- /dev/null +++ b/10.0.0-alpha.1/types/users.ArangoUser.html @@ -0,0 +1,5 @@ +ArangoUser | arangojs - v10.0.0-alpha.1

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.1/types/users.CreateDatabaseUserOptions.html b/10.0.0-alpha.1/types/users.CreateDatabaseUserOptions.html new file mode 100644 index 00000000..4888de0a --- /dev/null +++ b/10.0.0-alpha.1/types/users.CreateDatabaseUserOptions.html @@ -0,0 +1,8 @@ +CreateDatabaseUserOptions | arangojs - v10.0.0-alpha.1

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.1/types/users.UserAccessLevelOptions.html b/10.0.0-alpha.1/types/users.UserAccessLevelOptions.html new file mode 100644 index 00000000..f67899b6 --- /dev/null +++ b/10.0.0-alpha.1/types/users.UserAccessLevelOptions.html @@ -0,0 +1,7 @@ +UserAccessLevelOptions | arangojs - v10.0.0-alpha.1

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.1/types/users.UserOptions.html b/10.0.0-alpha.1/types/users.UserOptions.html new file mode 100644 index 00000000..b7896a8b --- /dev/null +++ b/10.0.0-alpha.1/types/users.UserOptions.html @@ -0,0 +1,7 @@ +UserOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.ArangoSearchViewDescription.html b/10.0.0-alpha.1/types/views.ArangoSearchViewDescription.html new file mode 100644 index 00000000..056f3367 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ArangoSearchViewDescription.html @@ -0,0 +1 @@ +ArangoSearchViewDescription | arangojs - v10.0.0-alpha.1

Type alias ArangoSearchViewDescription

ArangoSearchViewDescription: ViewDescriptionType<"arangosearch">
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/views.ArangoSearchViewLink.html b/10.0.0-alpha.1/types/views.ArangoSearchViewLink.html new file mode 100644 index 00000000..f06f9379 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ArangoSearchViewLink.html @@ -0,0 +1,2 @@ +ArangoSearchViewLink | arangojs - v10.0.0-alpha.1

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.1/types/views.ArangoSearchViewLinkOptions.html b/10.0.0-alpha.1/types/views.ArangoSearchViewLinkOptions.html new file mode 100644 index 00000000..198d7c85 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ArangoSearchViewLinkOptions.html @@ -0,0 +1,23 @@ +ArangoSearchViewLinkOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.ArangoSearchViewProperties.html b/10.0.0-alpha.1/types/views.ArangoSearchViewProperties.html new file mode 100644 index 00000000..95de1284 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ArangoSearchViewProperties.html @@ -0,0 +1,2 @@ +ArangoSearchViewProperties | arangojs - v10.0.0-alpha.1

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.1/types/views.ArangoSearchViewPropertiesOptions.html b/10.0.0-alpha.1/types/views.ArangoSearchViewPropertiesOptions.html new file mode 100644 index 00000000..b8b67239 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ArangoSearchViewPropertiesOptions.html @@ -0,0 +1,14 @@ +ArangoSearchViewPropertiesOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.BytesAccumConsolidationPolicy.html b/10.0.0-alpha.1/types/views.BytesAccumConsolidationPolicy.html new file mode 100644 index 00000000..d42d285f --- /dev/null +++ b/10.0.0-alpha.1/types/views.BytesAccumConsolidationPolicy.html @@ -0,0 +1,7 @@ +BytesAccumConsolidationPolicy | arangojs - v10.0.0-alpha.1

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.1/types/views.Compression.html b/10.0.0-alpha.1/types/views.Compression.html new file mode 100644 index 00000000..777dc4f2 --- /dev/null +++ b/10.0.0-alpha.1/types/views.Compression.html @@ -0,0 +1,2 @@ +Compression | arangojs - v10.0.0-alpha.1

Type alias Compression

Compression: "lz4" | "none"

Compression for storing data.

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

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.1/types/views.CreateArangoSearchViewPrimarySortOptions.html b/10.0.0-alpha.1/types/views.CreateArangoSearchViewPrimarySortOptions.html new file mode 100644 index 00000000..f77fac2e --- /dev/null +++ b/10.0.0-alpha.1/types/views.CreateArangoSearchViewPrimarySortOptions.html @@ -0,0 +1,10 @@ +CreateArangoSearchViewPrimarySortOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.CreateSearchAliasViewOptions.html b/10.0.0-alpha.1/types/views.CreateSearchAliasViewOptions.html new file mode 100644 index 00000000..b4affafc --- /dev/null +++ b/10.0.0-alpha.1/types/views.CreateSearchAliasViewOptions.html @@ -0,0 +1,2 @@ +CreateSearchAliasViewOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.CreateViewOptions.html b/10.0.0-alpha.1/types/views.CreateViewOptions.html new file mode 100644 index 00000000..5084c1ff --- /dev/null +++ b/10.0.0-alpha.1/types/views.CreateViewOptions.html @@ -0,0 +1,2 @@ +CreateViewOptions | arangojs - v10.0.0-alpha.1

Type alias CreateViewOptions

Options for creating a View.

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

Type alias Direction

Direction: "desc" | "asc"

Sorting direction. Descending or ascending.

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

Type alias SearchAliasViewDescription

SearchAliasViewDescription: ViewDescriptionType<"search-alias">
\ No newline at end of file diff --git a/10.0.0-alpha.1/types/views.SearchAliasViewIndexOptions.html b/10.0.0-alpha.1/types/views.SearchAliasViewIndexOptions.html new file mode 100644 index 00000000..237d6d9a --- /dev/null +++ b/10.0.0-alpha.1/types/views.SearchAliasViewIndexOptions.html @@ -0,0 +1,4 @@ +SearchAliasViewIndexOptions | arangojs - v10.0.0-alpha.1

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.1/types/views.SearchAliasViewProperties.html b/10.0.0-alpha.1/types/views.SearchAliasViewProperties.html new file mode 100644 index 00000000..63bf68f9 --- /dev/null +++ b/10.0.0-alpha.1/types/views.SearchAliasViewProperties.html @@ -0,0 +1,2 @@ +SearchAliasViewProperties | arangojs - v10.0.0-alpha.1

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

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.1/types/views.TierConsolidationPolicy.html b/10.0.0-alpha.1/types/views.TierConsolidationPolicy.html new file mode 100644 index 00000000..c1705481 --- /dev/null +++ b/10.0.0-alpha.1/types/views.TierConsolidationPolicy.html @@ -0,0 +1,17 @@ +TierConsolidationPolicy | arangojs - v10.0.0-alpha.1

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.1/types/views.UpdateArangoSearchViewPropertiesOptions.html b/10.0.0-alpha.1/types/views.UpdateArangoSearchViewPropertiesOptions.html new file mode 100644 index 00000000..8b149c1f --- /dev/null +++ b/10.0.0-alpha.1/types/views.UpdateArangoSearchViewPropertiesOptions.html @@ -0,0 +1,2 @@ +UpdateArangoSearchViewPropertiesOptions | arangojs - v10.0.0-alpha.1

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

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

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.1/types/views.UpdateViewPropertiesOptions.html b/10.0.0-alpha.1/types/views.UpdateViewPropertiesOptions.html new file mode 100644 index 00000000..0eadece8 --- /dev/null +++ b/10.0.0-alpha.1/types/views.UpdateViewPropertiesOptions.html @@ -0,0 +1,2 @@ +UpdateViewPropertiesOptions | arangojs - v10.0.0-alpha.1

Type alias UpdateViewPropertiesOptions

Options for partially modifying a View's properties.

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

Type alias ViewDescription

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

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.1/types/views.ViewProperties.html b/10.0.0-alpha.1/types/views.ViewProperties.html new file mode 100644 index 00000000..5eb1fff8 --- /dev/null +++ b/10.0.0-alpha.1/types/views.ViewProperties.html @@ -0,0 +1 @@ +ViewProperties | arangojs - v10.0.0-alpha.1

Type alias ViewProperties

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

Type alias ViewPropertiesOptions

Options for replacing a View's properties.

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

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 ac08681a..f5a8b83c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,68 @@ 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.1] - 2024-12-09 + +### Changed + +- Renamed `CollectionDropOptions` type to `DropCollectionOptions` + +- Renamed `CollectionTruncateOptions` type to `TruncateCollectionOptions` + +- Renamed `Config` type to `ConfigOptions` + +- Renamed `path` option to `pathname` in `RequestOptions` type + + This affects the `db.waitForPropagation` and `route.request` methods. + +- Removed `basePath` option from `RequestOptions` type + + This affects the `db.waitForPropagation` and `route.request` methods. + +- Renamed `route.path` property to `route.pathname` + +- Changed error type constructor signatures + + The `request` property is now always positional and the `options` property + is always optional. + +- Moved configuration related types to new `config` module + + The following types were moved: `Config`, `LoadBalancingStrategy`, + `BasicAuthCredentials` and `BearerAuthCredentials`. + +- Moved `ArangoErrorResponse` type to `connection` module + + The type is now also no longer marked as internal. + +- Moved configuration related types to new `configuration` module + + The following types were moved: `ConfigOptions`, `LoadBalancingStrategy`, + `BasicAuthCredentials` and `BearerAuthCredentials`. + +- Moved internal utility functions to new `lib/util` module + + These methods are all still marked as internal and should not be used + directly. + +- Closing a connection now closes all open requests + + Previously in certain situations only the most recent request would be + closed per server. Note that this still merely aborts the requests but + does not guarantee the underlying connections are closed as these are + handled by Node.js or the browser natively. + +### Added + +- Restored support for Unix domain sockets + + Using Unix domain sockets requires the `undici` library to be installed. + +- Restored support for `config.agentOptions` + + The `config.agentOptions` option can now be used to create a custom `undici` + agent if the `undici` library is installed. + ## [10.0.0-alpha.0] - 2024-11-28 This is a major release and breaks backwards compatibility. @@ -2293,6 +2355,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.1]: https://github.com/arangodb/arangojs/compare/v10.0.0-alpha.0...v10.0.0-alpha.1 [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 diff --git a/_data/versions.json b/_data/versions.json index 4bb6ee2b..23e67cff 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1 +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"]} +{"all":["10.0.0-alpha.1","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"]}