UNPKG

faunadb

Version:

FaunaDB Javascript driver for Node.JS and Browsers

7 lines 83 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).faunadb=e()}}((function(){return function r(e,t,n){function o(i,s){if(!t[i]){if(!e[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(a)return a(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var l=t[i]={exports:{}};e[i][0].call(l.exports,(function(t){return o(e[i][1][t]||t)}),l,l.exports,r,e,t,n)}return t[i].exports}for(var a="function"==typeof require&&require,i=0;i<n.length;i++)o(n[i]);return o}({1:[function(e,t,n){var a=e("./src/query"),i=e("./src/_util"),s=e("./src/_json").parseJSON;t.exports=i.mergeObjects({Client:e("./src/Client"),Expr:e("./src/Expr"),PageHelper:e("./src/PageHelper"),RequestResult:e("./src/RequestResult"),clientLogger:e("./src/clientLogger"),errors:e("./src/errors"),values:e("./src/values"),query:a,parseJSON:s},a)},{"./src/Client":11,"./src/Expr":12,"./src/PageHelper":13,"./src/RequestResult":14,"./src/_json":19,"./src/_util":20,"./src/clientLogger":21,"./src/errors":22,"./src/query":23,"./src/values":25}],2:[function(e,t,n){"use strict";n.byteLength=function byteLength(e){var t=getLens(e),n=t[0],a=t[1];return 3*(n+a)/4-a},n.toByteArray=function toByteArray(e){var t,n,a=getLens(e),u=a[0],c=a[1],l=new s(function _byteLength(e,t,n){return 3*(t+n)/4-n}(0,u,c)),p=0,f=c>0?u-4:u;for(n=0;n<f;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],l[p++]=t>>16&255,l[p++]=t>>8&255,l[p++]=255&t;2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,l[p++]=255&t);1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,l[p++]=t>>8&255,l[p++]=255&t);return l},n.fromByteArray=function fromByteArray(e){for(var t,n=e.length,i=n%3,s=[],u=0,c=n-i;u<c;u+=16383)s.push(encodeChunk(e,u,u+16383>c?c:u+16383));1===i?(t=e[n-1],s.push(a[t>>2]+a[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return s.join("")};for(var a=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,l=u.length;c<l;++c)a[c]=u[c],i[u.charCodeAt(c)]=c;function getLens(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function encodeChunk(e,t,n){for(var i,s,u=[],c=t;c<n;c+=3)i=(e[c]<<16&16711680)+(e[c+1]<<8&65280)+(255&e[c+2]),u.push(a[(s=i)>>18&63]+a[s>>12&63]+a[s>>6&63]+a[63&s]);return u.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],3:[function(e,t,n){},{}],4:[function(e,t,n){var a="undefined"!=typeof self?self:this,i=function(){function F(){this.fetch=!1,this.DOMException=a.DOMException}return F.prototype=a,new F}();!function(e){!function(t){var n="URLSearchParams"in e,a="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),s="FormData"in e,u="ArrayBuffer"in e;if(u)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function normalizeName(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function normalizeValue(e){return"string"!=typeof e&&(e=String(e)),e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return a&&(t[Symbol.iterator]=function(){return t}),t}function Headers(e){this.map={},e instanceof Headers?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function fileReaderReady(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader,n=fileReaderReady(t);return t.readAsArrayBuffer(e),n}function bufferClone(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(e){this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&i&&function isDataView(e){return e&&DataView.prototype.isPrototypeOf(e)}(e)?(this._bodyArrayBuffer=bufferClone(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=bufferClone(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?consumed(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var e=consumed(this);if(e)return e;if(this._bodyBlob)return function readBlobAsText(e){var t=new FileReader,n=fileReaderReady(t);return t.readAsText(e),n}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function readArrayBufferAsText(e){for(var t=new Uint8Array(e),n=new Array(t.length),a=0;a<t.length;a++)n[a]=String.fromCharCode(t[a]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(decode)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(e,t){e=normalizeName(e),t=normalizeValue(t);var n=this.map[e];this.map[e]=n?n+", "+t:t},Headers.prototype.delete=function(e){delete this.map[normalizeName(e)]},Headers.prototype.get=function(e){return e=normalizeName(e),this.has(e)?this.map[e]:null},Headers.prototype.has=function(e){return this.map.hasOwnProperty(normalizeName(e))},Headers.prototype.set=function(e,t){this.map[normalizeName(e)]=normalizeValue(t)},Headers.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},Headers.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),iteratorFor(e)},Headers.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),iteratorFor(e)},Headers.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),iteratorFor(e)},a&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Request(e,t){var n=(t=t||{}).body;if(e instanceof Request){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new Headers(t.headers)),this.method=function normalizeMethod(e){var t=e.toUpperCase();return p.indexOf(t)>-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function decode(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),a=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(i))}})),t}function Response(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new Headers(t.headers),this.url=t.url||"",this._initBody(e)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype),Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var e=new Response(null,{status:0,statusText:""});return e.type="error",e};var f=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===f.indexOf(t))throw new RangeError("Invalid status code");return new Response(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function fetch(e,n){return new Promise((function(a,s){var u=new Request(e,n);if(u.signal&&u.signal.aborted)return s(new t.DOMException("Aborted","AbortError"));var c=new XMLHttpRequest;function abortXhr(){c.abort()}c.onload=function(){var e,t,n={status:c.status,statusText:c.statusText,headers:(e=c.getAllResponseHeaders()||"",t=new Headers,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var n=e.split(":"),a=n.shift().trim();if(a){var i=n.join(":").trim();t.append(a,i)}})),t)};n.url="responseURL"in c?c.responseURL:n.headers.get("X-Request-URL");var i="response"in c?c.response:c.responseText;a(new Response(i,n))},c.onerror=function(){s(new TypeError("Network request failed"))},c.ontimeout=function(){s(new TypeError("Network request failed"))},c.onabort=function(){s(new t.DOMException("Aborted","AbortError"))},c.open(u.method,u.url,!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&i&&(c.responseType="blob"),u.headers.forEach((function(e,t){c.setRequestHeader(t,e)})),u.signal&&(u.signal.addEventListener("abort",abortXhr),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",abortXhr)}),c.send(void 0===u._bodyInit?null:u._bodyInit)}))}fetch.polyfill=!0,e.fetch||(e.fetch=fetch,e.Headers=Headers,e.Request=Request,e.Response=Response),t.Headers=Headers,t.Request=Request,t.Response=Response,t.fetch=fetch,Object.defineProperty(t,"__esModule",{value:!0})}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var s=i;(n=s.fetch).default=s.fetch,n.fetch=s.fetch,n.Headers=s.Headers,n.Request=s.Request,n.Response=s.Response,t.exports=n},{}],5:[function(e,t,n){"use strict";t.exports=function annotate(e){if("function"!=typeof e)throw new Error("Could not parse function signature for injection dependencies: Object is not a function");if(!e.length)return[];var t=/^()\(?([^)=]*)\)? *=>/.exec(e+"")||/^[^(]+([^ \(]*) *\(([^\)]*)\)/.exec(e+"");if(!t)throw new Error("Could not parse function signature for injection dependencies: "+e);var n=t[2].replace(/\/\*[\S\s]*?\*\//g," ").replace(/\/\/.*/g," ");function groupSubArguments(e,t,n){return t+n.split(",").map((function(e){return e&&e.trim()})).filter(Boolean).join("@")}return(n=(n=n.replace(/(\{)([^}]*)\}/g,groupSubArguments)).replace(/(\[)([^}]*)\]/g,groupSubArguments)).split(",").map((function(e){return e&&e.trim()})).map((function(e){return"{"===e[0]?e.substring(1).split("@"):"["===e[0]?{items:e.substring(1).split("@")}:e})).filter(Boolean)}},{}],6:[function(e,t,n){"use strict";const a="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0;if(!a)throw new Error("Unable to find global scope. Are you sure this is running in the browser?");if(!a.AbortController)throw new Error('Could not find "AbortController" in the global scope. You need to polyfill it first');t.exports.AbortController=a.AbortController},{}],7:[function(e,t,n){ /* object-assign (c) Sindre Sorhus @license MIT */ "use strict";var a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function toObject(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}t.exports=function shouldUseNative(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach((function(e){a[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,u,c=toObject(e),l=1;l<arguments.length;l++){for(var p in n=Object(arguments[l]))i.call(n,p)&&(c[p]=n[p]);if(a){u=a(n);for(var f=0;f<u.length;f++)s.call(n,u[f])&&(c[u[f]]=n[u[f]])}}return c}},{}],8:[function(e,t,n){var a,i,s=t.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(a===setTimeout)return setTimeout(e,0);if((a===defaultSetTimout||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){a=defaultSetTimout}try{i="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){i=defaultClearTimeout}}();var u,c=[],l=!1,p=-1;function cleanUpNextTick(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&drainQueue())}function drainQueue(){if(!l){var e=runTimeout(cleanUpNextTick);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p<t;)u&&u[p].run();p=-1,t=c.length}u=null,l=!1,function runClearTimeout(e){if(i===clearTimeout)return clearTimeout(e);if((i===defaultClearTimeout||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{return i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}s.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new Item(e,t)),1!==c.length||l||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=noop,s.addListener=noop,s.once=noop,s.off=noop,s.removeListener=noop,s.removeAllListeners=noop,s.emit=noop,s.prependListener=noop,s.prependOnceListener=noop,s.listeners=function(e){return[]},s.binding=function(e){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(e){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},{}],9:[function(e,t,n){(function(e){(function(){function config(t){try{if(!e.localStorage)return!1}catch(e){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function deprecate(e,t){if(config("noDeprecation"))return e;var n=!1;return function deprecated(){if(!n){if(config("throwDeprecation"))throw new Error(t);config("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],10:[function(e,t,n){t.exports={name:"faunadb",version:"4.8.2",apiVersion:"4",description:"FaunaDB Javascript driver for Node.JS and Browsers",homepage:"https://fauna.com",repository:"fauna/faunadb-js",license:"MPL-2.0",keywords:["database","fauna","official","driver"],bugs:{url:"https://github.com/fauna/faunadb-js/issues"},files:["index.d.ts","src/","dist/","tools/printReleaseNotes.js"],main:"index.js",scripts:{doc:"jsdoc -c ./jsdoc.json",browserify:"browserify index.js --standalone faunadb -o dist/faunadb.js","browserify-min":"browserify index.js --standalone faunadb | terser -c -m --keep-fnames --keep-classnames -o dist/faunadb-min.js",prettify:'prettier --write "{src,test}/**/*.{js,ts}"',test:"jest --env=node --verbose=true --forceExit --runInBand ./test",posttest:"node ./test/afterComplete","semantic-release":"semantic-release",wp:"webpack",postinstall:"node ./tools/printReleaseNotes",postupdate:"node ./tools/printReleaseNotes","load-test":"node ./tools/loadTest"},types:"index.d.ts",dependencies:{"base64-js":"^1.2.0",boxen:"^5.0.1","btoa-lite":"^1.0.0",chalk:"^4.1.1","cross-fetch":"^3.1.5",dotenv:"^8.2.0","fn-annotate":"^1.1.3","node-abort-controller":"^3.0.1","object-assign":"^4.1.0","util-deprecate":"^1.0.2"},devDependencies:{"ansi-regex":">=5.0.1",browserify:"^16.2.2",eslint:"^5.3.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1",husky:"^7.0.4",jest:"^27.4.7",jsdoc:"^3.6.10","json-schema":">=0.4.0","lint-staged":">=8",marked:">=4.0.10",prettier:"1.18.2","semantic-release":"^19.0.3",terser:"^4.3.9",webpack:"^5.23.0","webpack-cli":"^4.5.0",yargs:"^16.2.0"},"lint-staged":{"*.{js,css,json,md}":["prettier --write","git add"],"*.js":["eslint --fix","git add"]},release:{branches:["main"]},browser:{http2:!1,http:!1,https:!1,os:!1,util:!1,boxen:!1,chalk:!1}}},{}],11:[function(e,t,n){"use strict";var a=e("../package.json"),i=e("./PageHelper"),s=e("./RequestResult"),u=e("./errors"),c=e("./_http"),l=e("./_json"),p=e("./query"),f=e("./stream"),d=e("./_util"),h=e("./values");function Client(e){const t=function getHttp2SessionIdleTime(e){const t=d.getEnvVariable("FAUNADB_HTTP2_SESSION_IDLE_TIME");var n=500;const a=[t,e];for(const e of a){const t="Infinity"===e?Number.MAX_SAFE_INTEGER:parseInt(e,10),a=t>5e3;if(!(t<0)&&t){n=t,a&&(n=5e3);break}}return n}(e?e.http2SessionIdleTime:void 0);e&&(e.http2SessionIdleTime=t),e=d.applyDefaults(e,{endpoint:null,domain:"db.fauna.com",scheme:"https",port:null,secret:null,timeout:60,observer:null,keepAlive:!0,headers:{},fetch:void 0,queryTimeout:null,http2SessionIdleTime:t,checkNewVersion:!1}),this._observer=e.observer,this._http=new c.HttpClient(e),this.stream=f.StreamAPI(this)}Client.apiVersion=a.apiVersion,Client.prototype.query=function(e,t){return p.arity.between(1,2,arguments,"Client.prototype.query"),t=Object.assign({},this._globalQueryOptions,t),this._execute("POST","",p.wrap(e),null,t)},Client.prototype.paginate=function(e,t,n){return t=d.defaults(t,{}),n=d.defaults(n,{}),new i(this,e,t,n)},Client.prototype.ping=function(e,t){return this._execute("GET","ping",null,{scope:e,timeout:t})},Client.prototype.getLastTxnTime=function(){return this._http.getLastTxnTime()},Client.prototype.syncLastTxnTime=function(e){this._http.syncLastTxnTime(e)},Client.prototype.close=function(e){return this._http.close(e)},Client.prototype.queryWithMetrics=function(e,t){return p.arity.between(1,2,arguments,"Client.prototype.query"),this._execute("POST","",p.wrap(e),null,t,!0)},Client.prototype._execute=function(e,t,n,a,i,c=!1){a=d.defaults(a,null),(t instanceof h.Ref||d.checkInstanceHasProperty(t,"_isFaunaRef"))&&(t=t.value),null!==a&&(a=d.removeUndefinedValues(a));var p=Date.now(),f=this,w=["GET","HEAD"].indexOf(e)>=0?void 0:JSON.stringify(n);return this._http.execute(Object.assign({},i,{path:t,query:a,method:e,body:w})).then((function(d){if(200===d.status&&(0===d.body.length||"0"===d.headers["content-length"]))throw new u.ProtocolError("There was an issue communicating with Fauna. Response is empty. Please try again.");var h=Date.now(),m=l.parseJSON(d.body),y=new s(e,t,a,w,n,d.body,m,d.status,d.headers,p,h);f._handleRequestResult(d,y,i);const b=["x-compute-ops","x-byte-read-ops","x-byte-write-ops","x-query-time","x-txn-retries"];return c?{value:m.resource,metrics:Object.fromEntries(Array.from(Object.entries(d.headers)).filter(([e,t])=>b.includes(e)).map(([e,t])=>[e,parseInt(t)]))}:m.resource}))},Client.prototype._handleRequestResult=function(e,t,n){null!=e.headers["x-txn-time"]&&this.syncLastTxnTime(parseInt(e.headers["x-txn-time"],10)),[this._observer,n&&n.observer].forEach(e=>{"function"==typeof e&&e(t,this)}),u.FaunaHTTPError.raiseForStatusCode(t)},t.exports=Client},{"../package.json":10,"./PageHelper":13,"./RequestResult":14,"./_http":18,"./_json":19,"./_util":20,"./errors":22,"./query":23,"./stream":24,"./values":25}],12:[function(e,t,n){"use strict";var a=e("./_util");function Expr(e){this.raw=e}Expr.prototype._isFaunaExpr=!0,Expr.prototype.toJSON=function(){return this.raw},Expr.prototype.toFQL=function(){return exprToString(this.raw)};var i=["Do","Call","Union","Intersection","Difference","Equals","Add","BitAnd","BitOr","BitXor","Divide","Max","Min","Modulo","Multiply","Subtract","LT","LTE","GT","GTE","And","Or"],s={containsstrregex:"ContainsStrRegex",containsstr:"ContainsStr",endswith:"EndsWith",findstr:"FindStr",findstrregex:"FindStrRegex",gt:"GT",gte:"GTE",is_nonempty:"is_non_empty",lowercase:"LowerCase",lt:"LT",lte:"LTE",ltrim:"LTrim",ngram:"NGram",rtrim:"RTrim",regexescape:"RegexEscape",replacestr:"ReplaceStr",replacestrregex:"ReplaceStrRegex",startswith:"StartsWith",substring:"SubString",titlecase:"TitleCase",uppercase:"UpperCase"};function isExpr(e){return e instanceof Expr||a.checkInstanceHasProperty(e,"_isFaunaExpr")}function printObject(e){return"{"+Object.keys(e).map((function(t){return'"'+t+'": '+exprToString(e[t])})).join(", ")+"}"}function printArray(e,t){return e.map((function(e){return t(e)})).join(", ")}var exprToString=function(e,t){if(isExpr(e)){if("value"in e)return e.toString();e=e.raw}if(null===e)return"null";switch(typeof e){case"string":return JSON.stringify(e);case"symbol":case"number":case"boolean":return e.toString();case"undefined":return"undefined"}if(Array.isArray(e)){var n=printArray(e,exprToString);return-1!=i.indexOf(t)?n:"["+n+"]"}if("match"in e){var a=exprToString(e.match),u=e.terms||[];return isExpr(u)&&(u=u.raw),Array.isArray(u)&&0==u.length?"Match("+a+")":Array.isArray(u)?"Match("+a+", ["+printArray(u,exprToString)+"])":"Match("+a+", "+exprToString(u)+")"}if("paginate"in e){if(1===Object.keys(e).length)return"Paginate("+exprToString(e.paginate)+")";var c=Object.assign({},e);return delete c.paginate,"Paginate("+exprToString(e.paginate)+", "+printObject(c)+")"}if("let"in e&&"in"in e){return"Let("+(Array.isArray(e.let)?"["+printArray(e.let,printObject)+"]":printObject(e.let))+", "+exprToString(e.in)+")"}if("object"in e)return printObject(e.object);if("merge"in e)return e.lambda?"Merge("+exprToString(e.merge)+", "+exprToString(e.with)+", "+exprToString(e.lambda)+")":"Merge("+exprToString(e.merge)+", "+exprToString(e.with)+")";if("lambda"in e)return"Lambda("+exprToString(e.lambda)+", "+exprToString(e.expr)+")";if("filter"in e)return"Filter("+exprToString(e.collection)+", "+exprToString(e.filter)+")";if("call"in e)return"Call("+exprToString(e.call)+", "+exprToString(e.arguments)+")";if("map"in e)return"Map("+exprToString(e.collection)+", "+exprToString(e.map)+")";if("foreach"in e)return"Foreach("+exprToString(e.collection)+", "+exprToString(e.foreach)+")";var l=Object.keys(e),p=l[0];p=function convertToCamelCase(e){return e in s&&(e=s[e]),e.split("_").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join("")}(p);var f=l.filter(t=>null!==e[t]||l.length>1).map(t=>exprToString(e[t],p)).join(", ");return p+"("+f+")"};Expr.toString=exprToString,t.exports=Expr},{"./_util":20}],13:[function(e,t,n){"use strict";var a=e("./query"),i=e("object-assign");function PageHelper(e,t,n,a){void 0===n&&(n={}),void 0===a&&(a={}),this.reverse=!1,this.params={},this.before=void 0,this.after=void 0,i(this.params,n);var s=this.params.cursor||this.params;"before"in s?(this.before=s.before,delete s.before):"after"in s&&(this.after=s.after,delete s.after),this.options={},i(this.options,a),this.client=e,this.set=t,this._faunaFunctions=[]}PageHelper.prototype.map=function(e){var t=this._clone();return t._faunaFunctions.push((function(t){return a.Map(t,e)})),t},PageHelper.prototype.filter=function(e){var t=this._clone();return t._faunaFunctions.push((function(t){return a.Filter(t,e)})),t},PageHelper.prototype.each=function(e){return this._retrieveNextPage(this.after,!1).then(this._consumePages(e,!1))},PageHelper.prototype.eachReverse=function(e){return this._retrieveNextPage(this.before,!0).then(this._consumePages(e,!0))},PageHelper.prototype.previousPage=function(){return this._retrieveNextPage(this.before,!0).then(this._adjustCursors.bind(this))},PageHelper.prototype.nextPage=function(){return this._retrieveNextPage(this.after,!1).then(this._adjustCursors.bind(this))},PageHelper.prototype._adjustCursors=function(e){return void 0!==e.after&&(this.after=e.after),void 0!==e.before&&(this.before=e.before),e.data},PageHelper.prototype._consumePages=function(e,t){var n=this;return function(a){var i;return e(a.data),void 0!==(i=t?a.before:a.after)?n._retrieveNextPage(i,t).then(n._consumePages(e,t)):Promise.resolve()}},PageHelper.prototype._retrieveNextPage=function(e,t){var n={};i(n,this.params);var s=n.cursor||n;void 0!==e?t?s.before=e:s.after=e:t&&(s.before=null);var u=a.Paginate(this.set,n);return this._faunaFunctions.length>0&&this._faunaFunctions.forEach((function(e){u=e(u)})),this.client.query(u,this.options)},PageHelper.prototype._clone=function(){return Object.create(PageHelper.prototype,{client:{value:this.client},set:{value:this.set},_faunaFunctions:{value:this._faunaFunctions},before:{value:this.before},after:{value:this.after},params:{value:this.params}})},t.exports=PageHelper},{"./query":23,"object-assign":7}],14:[function(e,t,n){"use strict";function RequestResult(e,t,n,a,i,s,u,c,l,p,f){this.method=e,this.path=t,this.query=n,this.requestRaw=a,this.requestContent=i,this.responseRaw=s,this.responseContent=u,this.statusCode=c,this.responseHeaders=l,this.startTime=p,this.endTime=f}Object.defineProperty(RequestResult.prototype,"timeTaken",{get:function(){return this.endTime-this.startTime}}),t.exports=RequestResult},{}],15:[function(e,t,n){"use strict";var a=e("../_util");function TimeoutError(e){Error.call(this),this.message=e||"Request aborted due to timeout",this.isTimeoutError=!0}function AbortError(e){Error.call(this),this.message=e||"Request aborted",this.isAbortError=!0}a.inherits(TimeoutError,Error),a.inherits(AbortError,Error),t.exports={TimeoutError:TimeoutError,AbortError:AbortError}},{"../_util":20}],16:[function(e,t,n){"use strict";var{AbortController:a}=e("node-abort-controller"),i=e("../_util"),s=e("../errors"),u=e("./errors");function FetchAdapter(t){t=t||{},this.type="fetch",this._closed=!1,this._fetch=i.resolveFetch(t.fetch),this._pendingRequests=new Map,i.isNodeEnv()&&t.keepAlive&&(this._keepAliveEnabledAgent=new((t.isHttps?e("https"):e("http")).Agent)({keepAlive:!0,timeout:3e3}))}function remapIfAbortError(e,t){return e&&"AbortError"===e.name?t?t():new u.AbortError:e}FetchAdapter.prototype.execute=function(e){if(this._closed)return Promise.reject(new s.ClientClosed("The Client has already been closed","No subsequent requests can be issued after the .close method is called. Consider creating a new Client instance"));var t=this,n=null,c=null!=e.streamConsumer,l=!e.signal&&!!e.timeout,p=new a,f={isStreaming:c,isAbortedByClose:!1,onComplete:null};t._pendingRequests.set(p,f);var onComplete=function(){t._pendingRequests.delete(p),e.signal&&e.signal.removeEventListener("abort",onAbort),f.onComplete&&f.onComplete()},onSettle=function(){n&&clearTimeout(n)},onAbort=function(){p.abort()};return l&&(n=setTimeout((function(){n=null,p.abort()}),e.timeout)),e.signal&&e.signal.addEventListener("abort",onAbort),this._fetch(i.formatUrl(e.origin,e.path,e.query),{method:e.method,headers:e.headers,body:e.body,agent:this._keepAliveEnabledAgent,signal:p.signal}).then((function(t){onSettle();var n=function responseHeadersAsObject(e){var t={};for(var n of e.entries()){var a=n[0],i=n[1];t[a]=i}return t}(t.headers);return c&&t.ok?(function attachStreamConsumer(e,t,n){var onError=function(e){n(),t.onError(remapIfAbortError(e))};if(i.isNodeEnv())return void e.body.on("error",onError).on("data",t.onData).on("end",(function(){n(),t.onError(new TypeError("network error"))}));try{var a=e.body.getReader(),u=new TextDecoder("utf-8");(function pump(){return a.read().then((function(e){if(!e.done){var a=u.decode(e.value,{stream:!0});return t.onData(a),pump()}n(),t.onError(new TypeError("network error"))}))})().catch(onError)}catch(e){throw new s.StreamsNotSupported("Please, consider providing a Fetch API-compatible function with streamable response bodies. "+e)}}(t,e.streamConsumer,onComplete),{body:"[stream]",headers:n,status:t.status}):(onComplete(),t.text().then((function(e){return{body:e,headers:n,status:t.status}})))})).catch((function(e){return onSettle(),onComplete(),Promise.reject(remapIfAbortError(e,(function(){return!c&&f.isAbortedByClose?new s.ClientClosed("The request is aborted due to the Client#close call with the force=true option"):l?new u.TimeoutError:new u.AbortError})))}))},FetchAdapter.prototype.close=function(e){e=e||{},this._closed=!0;var t=[];this._pendingRequests.forEach((function(n,a){if(n.isStreaming||e.force)return n.isAbortedByClose=!0,a.abort();t.push(new Promise((function(e){n.onComplete=e})))}));return Promise.all(t).then((function(){}))},t.exports=FetchAdapter},{"../_util":20,"../errors":22,"./errors":15,http:3,https:3,"node-abort-controller":6}],17:[function(e,t,n){"use strict";var a=e("http2"),i=e("./errors"),s=e("../errors"),u=e("../_util");function Http2Adapter(e){this.type="http2",this._sessionMap={},this._http2SessionIdleTime=e.http2SessionIdleTime,this._closed=!1}Http2Adapter.prototype._resolveSessionFor=function(e,t){var n=t?"stream::"+e:e;if(this._sessionMap[n])return this._sessionMap[n];var i=this,s=null,u=0,cleanup=function(){i._cleanupSessionFor(e,t)},clearInactivityTimeout=function(){s&&(clearTimeout(s),s=null)},c=a.connect(e).once("error",cleanup).once("goaway",cleanup),l={session:c,close:function(e){return clearInactivityTimeout(),e||t?(c.destroy(),Promise.resolve()):new Promise((function(e){c.close(e)}))},onRequestStart:function(){++u,clearInactivityTimeout()},onRequestEnd:function(){var e=0===--u,t=i._closed||c.closed||c.destroyed;e&&!t&&function(){if(clearInactivityTimeout(),i._http2SessionIdleTime!==1/0){s=setTimeout((function(){s=null,0===u&&cleanup()}),i._http2SessionIdleTime)}}()}};return this._sessionMap[n]=l,l},Http2Adapter.prototype._cleanupSessionFor=function(e,t){var n=t?"stream::"+e:e;this._sessionMap[n]&&(this._sessionMap[n].session.close(),delete this._sessionMap[n])},Http2Adapter.prototype.execute=function(e){if(this._closed)return Promise.reject(new s.ClientClosed("The Client has already been closed","No subsequent requests can be issued after the .close method is called. Consider creating a new Client instance"));var t=this,n=null!=e.streamConsumer;return new Promise((function(c,l){var p=!1,f=!1,resolve=function(e){p=!0,c(e)},rejectOrOnError=function(a){var i=function remapHttp2Error({error:e,isClosed:t}){if(t&&("ERR_HTTP2_GOAWAY_SESSION"===e.code||"ERR_HTTP2_STREAM_CANCEL"===e.code))return new s.ClientClosed("The request is aborted due to the Client#close call");return e}({error:a,isClosed:t._closed});if(p&&n)return e.streamConsumer.onError(i);p=!0,l(i)},onSettled=function(){w.onRequestEnd(),e.signal&&e.signal.removeEventListener("abort",onAbort)},onAbort=function(){f=!0,onSettled(),m.close(a.constants.NGHTTP2_CANCEL),rejectOrOnError(new i.AbortError)};try{var d=("/"===e.path[0]?e.path:"/"+e.path)+u.querystringify(e.query,"?"),h=Object.assign({},e.headers,{[a.constants.HTTP2_HEADER_PATH]:d,[a.constants.HTTP2_HEADER_METHOD]:e.method}),w=t._resolveSessionFor(e.origin,n),m=w.session.request(h).setEncoding("utf8").on("error",(function(e){onSettled(),rejectOrOnError(e)})).on("response",(function(i){var s=i[a.constants.HTTP2_HEADER_STATUS],u=s>=200&&s<400&&n,c="";u&&resolve({body:"[stream]",headers:i,status:s}),m.on("data",(function(t){if(u)return e.streamConsumer.onData(t);c+=t})).on("end",(function(){if(f||onSettled(),!u)return resolve({body:c,headers:i,status:s});f||t._closed||e.streamConsumer.onError(new TypeError("network error"))}))}));w.onRequestStart(),!e.signal&&e.timeout&&m.setTimeout(e.timeout,(function(){f=!0,onSettled(),m.close(a.constants.NGHTTP2_CANCEL),rejectOrOnError(new i.TimeoutError)})),e.signal&&e.signal.addEventListener("abort",onAbort),null!=e.body&&m.write(e.body),m.end()}catch(a){t._cleanupSessionFor(e.origin,n),rejectOrOnError(a)}}))},Http2Adapter.prototype.close=function(e){e=e||{},this._closed=!0;return Promise.all(Object.values(this._sessionMap).map((function(t){return t.close(e.force)}))).then((function(){}))},t.exports=Http2Adapter},{"../_util":20,"../errors":22,"./errors":15,http2:3}],18:[function(e,t,n){(function(n,a){(function(){"use strict";var i=e("../../package.json");const{getBrowserOsDetails:s}=e("../_util");var u=e("../_util"),c=e("./errors");function HttpClient(t){var c="https"===t.scheme;t.port||(t.port=c?443:80);var l=!t.fetch&&u.isNodeEnv()&&function isHttp2Supported(){try{return e("http2"),!0}catch(e){return!1}}();this._adapter=l?new(e("./http2Adapter"))({http2SessionIdleTime:t.http2SessionIdleTime}):new(e("./fetchAdapter"))({isHttps:c,fetch:t.fetch,keepAlive:t.keepAlive}),null===t.endpoint?this._baseUrl=t.scheme+"://"+t.domain+":"+t.port:this._baseUrl=t.endpoint,this._secret=t.secret,this._headers=Object.assign({},t.headers,function getDefaultHeaders(){var t,c={driver:["javascript",i.version].join("-")};try{t=a instanceof ServiceWorkerGlobalScope}catch(e){t=!1}try{if(u.isNodeEnv()){c.runtime=["nodejs",n.version].join("-"),c.env=u.getNodeRuntimeEnv();var l=e("os");c.os=[l.platform(),l.release()].join("-")}else t?c.runtime="Service Worker":(c.runtime=u.getBrowserDetails(),c.env="browser",c.os=s())}catch(e){}var p={"X-FaunaDB-API-Version":i.apiVersion};u.isNodeEnv()&&(p["X-Driver-Env"]=Object.keys(c).map(e=>[e,c[e].toLowerCase()].join("=")).join("; "));return p}()),this._queryTimeout=t.queryTimeout,this._lastSeen=null,this._timeout=Math.floor(1e3*t.timeout)}HttpClient.prototype.getLastTxnTime=function(){return this._lastSeen},HttpClient.prototype.syncLastTxnTime=function(e){(null==this._lastSeen||this._lastSeen<e)&&(this._lastSeen=e)},HttpClient.prototype.close=function(e){return this._adapter.close(e)},HttpClient.prototype.execute=function(e){if((e=e||{}).streamConsumer&&("function"!=typeof e.streamConsumer.onData||"function"!=typeof e.streamConsumer.onError))return Promise.reject(new TypeError('Invalid "streamConsumer" provided'));var t=e.secret||this._secret,n=e.queryTimeout||this._queryTimeout,a=this._headers,i=function isValidTraceparentHeader(e){return/^[\da-f]{2}-[\da-f]{32}-[\da-f]{16}-[\da-f]{2}$/.test(e)}(e.traceparent)?e.traceparent:null;return a.Authorization=t&&function secretHeader(e){return"Bearer "+e}(t),a["X-Last-Seen-Txn"]=this._lastSeen,a["X-Query-Timeout"]=n,a.traceparent=i,a["x-fauna-tags"]=function parseTags(e){return void 0===e||null==e||""==e?null:(function validateTags(e){if("object"!=typeof e)throw new Error("Tags must be provided as an object!")}(e),Object.entries(e).map(e=>e.join("=")).join(","))}(e.tags),this._adapter.execute({origin:this._baseUrl,path:e.path||"/",query:e.query,method:e.method||"GET",headers:u.removeNullAndUndefinedValues(a),body:e.body,signal:e.signal,timeout:this._timeout,streamConsumer:e.streamConsumer})},t.exports={HttpClient:HttpClient,TimeoutError:c.TimeoutError,AbortError:c.AbortError}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../package.json":10,"../_util":20,"./errors":15,"./fetchAdapter":16,"./http2Adapter":17,_process:8,http2:3,os:3}],19:[function(e,t,n){"use strict";var a=e("./values");function parseJSON(e){return JSON.parse(e,json_parse)}function json_parse(e,t){if("object"!=typeof t||null===t)return t;if("@ref"in t){var n=t["@ref"];if(!("collection"in n)&&!("database"in n))return a.Native.fromName(n.id);var i=json_parse("collection",n.collection),s=json_parse("database",n.database);return new a.Ref(n.id,i,s)}return"@obj"in t?t["@obj"]:"@set"in t?new a.SetRef(t["@set"]):"@ts"in t?new a.FaunaTime(t["@ts"]):"@date"in t?new a.FaunaDate(t["@date"]):"@bytes"in t?new a.Bytes(t["@bytes"]):"@query"in t?new a.Query(t["@query"]):t}t.exports={toJSON:function toJSON(e,t){return(t=void 0!==t&&t)?JSON.stringify(e,null," "):JSON.stringify(e)},parseJSON:parseJSON,parseJSONStreaming:function parseJSONStreaming(e){var t=[];try{t.push(parseJSON(e)),e=""}catch(i){for(;;){var n=e.indexOf("\n")+1;if(n<=0)break;var a=e.slice(0,n).trim();a.length>0&&t.push(parseJSON(a)),e=e.slice(n)}}return{values:t,buffer:e}}}},{"./values":25}],20:[function(e,t,n){(function(n,a){(function(){"use strict";e("../package.json"),e("chalk"),e("boxen");var i="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:void 0!==a?a:self;function checkInstanceHasProperty(e,t){return"object"==typeof e&&null!==e&&Boolean(e[t])}function querystringify(e,t){t=t||"";var n,a,i=[];for(a in"string"!=typeof t&&(t="?"),e)if(checkInstanceHasProperty(e,a)){if((n=e[a])||null!=n&&!isNaN(n)||(n=""),a=encode(a),n=encode(n),null===a||null===n)continue;i.push(a+"="+n)}return i.length?t+i.join("&"):""}function encode(e){try{return encodeURIComponent(e)}catch(e){return null}}t.exports={crossGlobal:i,mergeObjects:function mergeObjects(e,t){var n={};for(var a in e)n[a]=e[a];for(var a in t)n[a]=t[a];return n},formatUrl:function formatUrl(e,t,n){return n="object"==typeof n?querystringify(n):n,[e,t?"/"===t.charAt(0)?"":"/"+t:"",n?"?"===n.charAt(0)?"":"?"+n:""].join("")},querystringify:querystringify,inherits:function inherits(e,t){if(null==e)throw new TypeError('The constructor to "inherits" must not be null or undefined');if(null==t)throw new TypeError('The super constructor to "inherits" must not be null or undefined');if(void 0===t.prototype)throw new TypeError('The super constructor to "inherits" must have a prototype');e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},isNodeEnv:function isNodeEnv(){return"undefined"==typeof window&&void 0!==n&&null!=n.versions&&null!=n.versions.node},getEnvVariable:function getEnvVariable(e){if(!(void 0===n||!n||!n.env)&&null!=n.env[e])return n.env[e]},defaults:function defaults(e,t){return void 0===e?t:e},applyDefaults:function applyDefaults(e,t){var n={};for(var a in e){if(!(a in t))throw new Error("No such option "+a);n[a]=e[a]}for(var i in t)i in n||(n[i]=t[i]);return n},removeNullAndUndefinedValues:function removeNullAndUndefinedValues(e){var t={};for(var n in e){var a=e[n];null!=a&&(t[n]=a)}return t},removeUndefinedValues:function removeUndefinedValues(e){var t={};for(var n in e){var a=e[n];void 0!==a&&(t[n]=a)}return t},checkInstanceHasProperty:checkInstanceHasProperty,getBrowserDetails:function getBrowserDetails(){var e,t,n,a=navigator.appName,i=""+parseFloat(navigator.appVersion);return-1!=(t=navigator.userAgent.indexOf("Opera"))?(a="Opera",i=navigator.userAgent.substring(t+6),-1!=(t=navigator.userAgent.indexOf("Version"))&&(i=navigator.userAgent.substring(t+8))):-1!=(t=navigator.userAgent.indexOf("MSIE"))?(a="Microsoft Internet Explorer",i=navigator.userAgent.substring(t+5)):"Netscape"==a&&-1!=navigator.userAgent.indexOf("Trident/")?(a="Microsoft Internet Explorer",i=navigator.userAgent.substring(t+5),-1!=(t=navigator.userAgent.indexOf("rv:"))&&(i=navigator.userAgent.substring(t+3))):-1!=(t=navigator.userAgent.indexOf("Chrome"))?(a="Chrome",i=navigator.userAgent.substring(t+7)):-1!=(t=navigator.userAgent.indexOf("Safari"))?(a="Safari",i=navigator.userAgent.substring(t+7),-1!=(t=navigator.userAgent.indexOf("Version"))&&(i=navigator.userAgent.substring(t+8)),-1!=navigator.userAgent.indexOf("CriOS")&&(a="Chrome")):-1!=(t=navigator.userAgent.indexOf("Firefox"))?(a="Firefox",i=navigator.userAgent.substring(t+8)):(e=navigator.userAgent.lastIndexOf(" ")+1)<(t=navigator.userAgent.lastIndexOf("/"))&&(a=navigator.userAgent.substring(e,t),i=navigator.userAgent.substring(t+1),a.toLowerCase()==a.toUpperCase()&&(a=navigator.appName)),-1!=(n=i.indexOf(";"))&&(i=i.substring(0,n)),-1!=(n=i.indexOf(" "))&&(i=i.substring(0,n)),-1!=(n=i.indexOf(")"))&&(i=i.substring(0,n)),[a,i].join("-")},getBrowserOsDetails:function getBrowserOsDetails(){var e="unknown",t=[{s:"Windows 10",r:/(Windows 10.0|Windows NT 10.0)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows 95",r:/(Windows 95|Win95|Windows_95)/},{s:"Windows NT 4.0",r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 3.11",r:/Win16/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Chrome OS",r:/CrOS/},{s:"Linux",r:/(Linux|X11(?!.*CrOS))/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OS X",r:/Mac OS X/},{s:"Mac OS",r:/(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"Search Bot",r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for(var n in t){var a=t[n];if(a.r.test(navigator.userAgent)){e=a.s;break}}var i="unknown";switch(/Windows/.test(e)&&(i=/Windows (.*)/.exec(e)[1],e="Windows"),e){case"Mac OS":case"Mac OS X":case"Android":i=/(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\.\_\d]+)/.exec(navigator.userAgent)[1];break;case"iOS":i=(i=/OS (\d+)_(\d+)_?(\d+)?/.exec(navigator.appVersion))[1]+"."+i[2]+"."+(0|i[3])}return[e,i].join("-")},getNodeRuntimeEnv:function getNodeRuntimeEnv(){var e=[{name:"Netlify",check:function(){return n.env.hasOwnProperty("NETLIFY_IMAGES_CDN_DOMAIN")}},{name:"Vercel",check:function(){return n.env.hasOwnProperty("VERCEL")}},{name:"Heroku",check:function(){return n.env.hasOwnProperty("PATH")&&-1!==n.env.PATH.indexOf(".heroku")}},{name:"AWS Lambda",check:function(){return n.env.hasOwnProperty("AWS_LAMBDA_FUNCTION_VERSION")}},{name:"GCP Cloud Functions",check:function(){return n.env.hasOwnProperty("_")&&-1!==n.env._.indexOf("google")}},{name:"GCP Compute Instances",check:function(){return n.env.hasOwnProperty("GOOGLE_CLOUD_PROJECT")}},{name:"Azure Cloud Functions",check:function(){return n.env.hasOwnProperty("WEBSITE_FUNCTIONS_AZUREMONITOR_CATEGORIES")}},{name:"Azure Compute",check:function(){return n.env.hasOwnProperty("ORYX_ENV_TYPE")&&n.env.hasOwnProperty("WEBSITE_INSTANCE_ID")&&"AppService"===n.env.ORYX_ENV_TYPE}},{name:"Mongo Stitch",check:function(){return"function"==typeof i.StitchError}},{name:"Render",check:function(){return n.env.hasOwnProperty("RENDER_SERVICE_ID")}},{name:"Begin",check:function(){return n.env.hasOwnProperty("BEGIN_DATA_SCOPE_ID")}}].find(e=>e.check());return e?e.name:"unknown"},resolveFetch:function resolveFetch(t){return"function"==typeof t?t:"function"==typeof i.fetch?i.fetch.bind(i):e("cross-fetch")}}}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../package.json":10,_process:8,boxen:3,chalk:3,"cross-fetch":4}],21:[function(e,t,n){"use strict";var a=e("./_json");function showRequestResult(e){var t=e.query,n=e.method,a=e.path,i=e.requestContent,s=e.responseHeaders,u=e.responseContent,c=e.statusCode,l=e.timeTaken,p="";function log(e){p+=e}return log("Fauna "+n+" /"+a+function _queryString(e){if(null==e)return"";var t=Object.keys(e);if(0===t.length)return"";return"?"+t.map((function(t){return t+"="+e[t]})).join("&")}(t)+"\n"),null!=i&&log(" Request JSON: "+_showJSON(i)+"\n"),log(" Response headers: "+_showJSON(s)+"\n"),log(" Response JSON: "+_showJSON(u)+"\n"),log(" Response ("+c+"): Network latency "+l+"ms\n"),p}function _showJSON(e){return function _indent(e){return e.split("\n").join("\n ")}(a.toJSON(e,!0))}t.exports={logger:function logger(e){return function(t,n){return e(showRequestResult(t),n)}},showRequestResult:showRequestResult}},{"./_json":19}],22:[function(e,t,n){"use strict";var a=e("./_util");function FaunaError(e,t,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.name=e,this.message=t,this.description=n}function ProtocolError(e){FaunaError.call(this,"ProtocolError",e)}function InvalidValue(e){FaunaError.call(this,"InvalidValue",e)}function InvalidArity(e,t,n,a){var i=`${a} function requires ${function messageForArity(e,t){return null===t?"at least "+e:null===e?"up to "+t:e===t?e:"from "+e+" to "+t}(e,t)} argument(s) but ${n} were given`,s=function logDocumentationLink(e){return"For more info, see the docs: https://docs.fauna.com/fauna/current/api/fql/functions/"+e.toLowerCase()}(a);FaunaError.call(this,"InvalidArity",`${i}\n${s}`),this.min=e,this.max=t,this.actual=n}function FaunaHTTPError(e,t){var n=t.responseContent.errors,a=0===n.length?'(empty "errors")':n[0].code,i=0===n.length?'(empty "errors")':n[0].description;FaunaError.call(this,e,a,i),this.requestResult=t}function BadRequest(e){FaunaHTTPError.call(this,"BadRequest",e)}function Unauthorized(e){FaunaHTTPError.call(this,"Unauthorized",e),this.message=this.message+=". Check that endpoint, schema, port and secret are correct during client’s instantiation"}function PermissionDenied(e){FaunaHTTPError.call(this,"PermissionDenied",e)}function NotFound(e){FaunaHTTPError.call(this,"NotFound",e)}function MethodNotAllowed(e){FaunaHTTPError.call(this,"MethodNotAllowed",e)}function TooManyRequests(e){FaunaHTTPError.call(this,"TooManyRequests",e)}function InternalError(e){FaunaHTTPError.call(this,"InternalError",e)}function UnavailableError(e){FaunaHTTPError.call(this,"UnavailableError",e)}function StreamError(e,t,n){FaunaError.call(this,e,t,n)}function StreamsNotSupported(e){FaunaError.call(this,"StreamsNotSupported","streams not supported",e)}function StreamErrorEvent(e){var t=e.data||{};FaunaError.call(this,"StreamErrorEvent",t.code,t.description),this.event=e}function ClientClosed(e,t){FaunaError.call(this,"ClientClosed",e,t)}a.inherits(FaunaError,Error),a.inherits(ProtocolError,FaunaError),a.inherits(InvalidValue,FaunaError),a.inherits(InvalidArity,FaunaError),a.inherits(FaunaHTTPError,FaunaError),FaunaHTTPError.prototype.errors=function(){return this.requestResult.responseContent.errors},FaunaHTTPError.raiseForStatusCode=function(e){var t=e.statusCode;if(t<200||t>=300)switch(t){case 400:throw new BadRequest(e);case 401:throw new Unauthorized(e);case 403:throw new PermissionDenied(e);case 404:throw new NotFound(e);case 405:throw new MethodNotAllowed(e);case 429:throw new TooManyRequests(e);case 500:throw new InternalError(e);case 503:throw new UnavailableError(e);default:throw new FaunaHTTPError("UnknownError",e)}},a.inherits(BadRequest,FaunaHTTPError),a.inherits(Unauthorized,FaunaHTTPError),a.inherits(PermissionDenied,FaunaHTTPError),a.inherits(NotFound,FaunaHTTPError),a.inherits(MethodNotAllowed,FaunaHTTPError),a.inherits(TooManyRequests,FaunaHTTPError),a.inherits(InternalError,FaunaHTTPError),a.inherits(UnavailableError,FaunaHTTPError),a.inherits(StreamError,FaunaError),a.inherits(StreamsNotSupported,StreamError),a.inherits(StreamErrorEvent,StreamError),a.inherits(ClientClosed,FaunaError),t.exports={FaunaError:FaunaError,ProtocolError:ProtocolError,ClientClosed:ClientClosed,FaunaHTTPError:FaunaHTTPError,InvalidValue:InvalidValue,InvalidArity:InvalidArity,BadRequest:BadRequest,Unauthorized:Unauthorized,PermissionDenied:PermissionDenied,NotFound:NotFound,MethodNotAllowed:MethodNotAllowed,TooManyRequests:TooManyRequests,InternalError:InternalError,UnavailableError:UnavailableError,StreamError:StreamError,StreamsNotSupported:StreamsNotSupported,StreamErrorEvent:StreamErrorEvent}},{"./_util":20}],23:[function(e,t,n){"use strict";var a=e("fn-annotate"),i=e("util-deprecate"),s=e("./Expr"),u=e("./errors"),c=e("./values"),l=e("object-assign"),p=e("./_util");function Var(e){return arity.exact(1,arguments,Var.name),new s({var:wrap(e)})}var objectFunction=function(e){return arity.exact(1,arguments,objectFunction.name),new s({object:wrapValues(e)})};function Lambda(){switch(arity.between(1,2,arguments,Lambda.name),arguments.length){case 1:var e=arguments[0];if("function"==typeof e)return _lambdaFunc(e);if(e instanceof s||p.checkInstanceHasProperty(e,"_isFaunaExpr"))return e;throw new u.InvalidValue("Lambda function takes either a Function or an Expr.");case 2:var t=arguments[0],n=arguments[1];return _lambdaExpr(t,n)}}function _lambdaFunc(e){var t=a(e);switch(t.length){case 0:throw new u.InvalidValue("Provided Function must take at least 1 argument.");case 1:return _lambdaExpr(t[0],e(Var(t[0])));default:return _lambdaExpr(t,e.apply(null,t.map((function(e){return Var(e)}))))}}function _lambdaExpr(e,t){retu