@gmencz/faunadb
Version:
TypeScript-first FaunaDB client with static type inference
2 lines (1 loc) • 12.3 kB
JavaScript
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var g=Object.defineProperty,b=Object.defineProperties;var f=Object.getOwnPropertyDescriptors;var m=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var d=(o,e,r)=>e in o?g(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r,a=(o,e)=>{for(var r in e||(e={}))T.call(e,r)&&d(o,r,e[r]);if(m)for(var r of m(e))h.call(e,r)&&d(o,r,e[r]);return o},E=(o,e)=>b(o,f(e));var k=(o=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(o,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):o)(function(o){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var u=typeof document=="undefined"?new(k("url")).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var p=o=>{let e={};return Object.keys(o).forEach(function(r){e[r]=s(o[r])}),e},s= exports.wrap =o=>o===null?null:o instanceof n?o:Array.isArray(o)?new n(o.map(e=>s(e))):typeof o=="object"?new n({object:p(o)}):o,n= exports.Expression =class{constructor(e){this.toJSON=()=>this.raw;this.raw=e}};n._isFaunaExpression=!0;var l=class{constructor(){this.Abort=e=>new n({abort:e});this.Abs=e=>new n({abs:e});this.AccessProvider=e=>new n({access_provider:e});this.AccessProviders=e=>e?new n({access_providers:e}):new n({access_providers:null});this.Acos=e=>new n({acos:e});this.Add=(...e)=>e.length===1?new n({add:e[0]}):new n({add:e});this.All=(...e)=>e.length===1?new n({all:e[0]}):new n({all:e});this.And=(...e)=>e.length===1?new n({and:e[0]}):new n({and:e});this.Any=(...e)=>e.length===1?new n({any:e[0]}):new n({any:e});this.Append=(e,r)=>new n({append:s(e),collection:s(r)});this.Asin=e=>new n({asin:e});this.At=(e,r)=>new n({at:e,expr:s(r)});this.Atan=e=>new n({atan:e});this.BitAnd=(...e)=>e.length===1?new n({bitand:e[0]}):new n({bitand:e});this.BitNot=e=>new n({bitnot:e});this.BitOr=(...e)=>e.length===1?new n({bitor:e[0]}):new n({bitor:e});this.BitXor=(...e)=>e.length===1?new n({bitxor:e[0]}):new n({bitxor:e});this.Call=(e,r)=>new n({call:e,arguments:s(r)});this.Casefold=(e,r)=>r?new n({casefold:e,normalizer:r}):new n({casefold:e});this.Ceil=e=>new n({ceil:e});this.Collection=(e,r)=>r?new n({collection:e,scope:r}):new n({collection:e});this.Collections=e=>e?new n({collections:e}):new n({collections:null});this.Concat=(e,r)=>r?new n({concat:e,separator:r}):new n({concat:e});this.ContainsField=(e,r)=>new n({contains_field:e,in:s(r)});this.ContainsPath=(e,r)=>new n({contains_path:e,in:s(r)});this.ContainsStr=(e,r)=>new n({containsstr:e,search:r});this.ContainsStrRegex=(e,r)=>new n({containsstrregex:e,pattern:r});this.ContainsValue=(e,r)=>new n({contains_value:s(e),in:s(r)});this.Cos=e=>new n({cos:e});this.Cosh=e=>new n({cosh:e});this.Count=e=>new n({count:s(e)});this.Create=(e,r)=>new n({create:e,params:s(r)});this.CreateAccessProvider=e=>new n({create_access_provider:s(e)});this.CreateCollection=e=>new n({create_collection:s(e)});this.CreateDatabase=e=>new n({create_database:s(e)});this.CreateFunction=e=>new n({create_function:s(e)});this.CreateIndex=e=>new n({create_index:s(e)});this.CreateKey=e=>new n({create_key:s(e)});this.CreateRole=e=>new n({create_role:s(e)});this.Credentials=e=>e?new n({credentials:e}):new n({credentials:null});this.CurrentIdentity=()=>new n({current_identity:null});this.CurrentToken=()=>new n({current_token:null});this.Database=(e,r)=>r?new n({database:e,scope:r}):new n({database:e});this.Databases=e=>e?new n({databases:e}):new n({databases:null});this.Date=e=>new n({date:e});this.DayOfMonth=e=>new n({day_of_month:e});this.DayOfWeek=e=>new n({day_of_week:e});this.DayOfYear=e=>new n({day_of_year:e});this.Degrees=e=>new n({degrees:e});this.Delete=e=>new n({delete:e});this.Difference=(e,...r)=>new n({difference:s([e,...r])});this.Distinct=e=>new n({distinct:s(e)});this.Divide=(...e)=>new n({divide:e});this.Do=(...e)=>new n({do:s(e)});this.Documents=e=>new n({documents:e});this.Drop=(e,r)=>new n({drop:e,collection:s(r)});this.EndsWith=(e,r)=>new n({endswith:e,search:r});this.Epoch=(e,r)=>new n({epoch:e,unit:r});this.Equals=(e,r,...t)=>new n({equals:s([e,r,...t])});this.Events=e=>new n({events:e});this.Exists=(e,r)=>r!==void 0?new n({exists:e,ts:r}):new n({exists:e});this.Exp=e=>new n({exp:e});this.Filter=(e,r)=>new n({collection:s(e),filter:r});this.FindStr=(e,r,t)=>t!==void 0?new n({findstr:e,find:r,start:t}):new n({findstr:e,find:r});this.FindStrRegex=(e,r,t,i)=>t!==void 0&&i!==void 0?new n({findstrregex:e,find:r,start:t,num_results:i}):t!==void 0?new n({findstrregex:e,find:r,start:t}):i!==void 0?new n({findstrregex:e,find:r,num_results:i}):new n({findstrregex:e,find:r});this.Floor=e=>new n({floor:e});this.Foreach=(e,r)=>new n({collection:s(e),foreach:r});this.Format=(e,...r)=>r.length===1?new n({format:e,values:s(r[0])}):new n({format:e,values:s(r)});this.Function=(e,r)=>r?new n({function:e,scope:r}):new n({function:e});this.Functions=e=>e?new n({functions:e}):new n({functions:null});this.GT=(...e)=>e.length===1?new n({gt:e[0]}):new n({gt:e});this.GTE=(...e)=>e.length===1?new n({gte:e[0]}):new n({gte:e});this.Get=(e,r)=>r!==void 0?new n({get:e,ts:r}):new n({get:e});this.HasCurrentIdentity=()=>new n({has_current_identity:null});this.HasCurrentToken=()=>new n({has_current_token:null});this.Hour=e=>new n({hour:e});this.Hypot=(e,r)=>r!==void 0?new n({hypot:e,b:r}):new n({hypot:e});this.Identify=(e,r)=>new n({identify:e,password:r});this.If=(e,r,t)=>new n({if:e,then:s(r),else:s(t)});this.Index=(e,r)=>r?new n({index:e,scope:r}):new n({index:e});this.Indexes=e=>e?new n({indexes:e}):new n({indexes:null});this.Insert=(e,r,t,i)=>new n({insert:e,ts:r,action:t,params:s(i)});this.Intersection=(...e)=>new n({intersection:s([...e])});this.IsArray=e=>new n({is_array:s(e)});this.IsBoolean=e=>new n({is_boolean:s(e)});this.IsBytes=e=>new n({is_bytes:s(e)});this.IsCollection=e=>new n({is_collection:s(e)});this.IsCredentials=e=>new n({is_credentials:s(e)});this.IsDatabase=e=>new n({is_database:s(e)});this.IsDate=e=>new n({is_date:s(e)});this.IsDoc=e=>new n({is_doc:s(e)});this.IsDouble=e=>new n({is_double:s(e)});this.IsEmpty=e=>new n({is_empty:s(e)});this.IsFunction=e=>new n({is_function:s(e)});this.IsIndex=e=>new n({is_index:s(e)});this.IsInteger=e=>new n({is_integer:s(e)});this.IsKey=e=>new n({is_key:s(e)});this.IsLambda=e=>new n({is_lambda:s(e)});this.IsNonEmpty=e=>new n({is_nonempty:s(e)});this.IsNull=e=>new n({is_null:s(e)});this.IsNumber=e=>new n({is_number:s(e)});this.IsObject=e=>new n({is_object:s(e)});this.IsRef=e=>new n({is_ref:s(e)});this.IsRole=e=>new n({is_role:s(e)});this.IsSet=e=>new n({is_set:s(e)});this.IsString=e=>new n({is_string:s(e)});this.IsTimestamp=e=>new n({is_timestamp:s(e)});this.IsToken=e=>new n({is_token:s(e)});this.Join=(e,r)=>new n({join:s(e),with:r});this.KeyFromSecret=e=>new n({key_from_secret:e});this.Keys=e=>e?new n({keys:e}):new n({keys:null});this.LT=(...e)=>e.length===1?new n({lt:e[0]}):new n({lt:e});this.LTE=(...e)=>e.length===1?new n({lte:e[0]}):new n({lte:e});this.LTrim=e=>new n({ltrim:e});this.Lambda=(e,r)=>new n({lambda:e,expr:s(r)});this.Length=e=>new n({length:e});this.Let=(e,r)=>{let t=Object.keys(e).map(i=>({[i]:s(e[i])}));return new n({let:t,in:s(r)})};this.Ln=e=>new n({ln:e});this.Log=e=>new n({log:e});this.Login=(e,r)=>new n({login:e,params:s(r)});this.Logout=e=>new n({logout:e});this.LowerCase=e=>new n({lowercase:e});this.Map=(e,r)=>new n({map:r,collection:s(e)});this.Match=(e,r=[])=>new n({match:e,terms:s(r)});this.Max=(...e)=>e.length===1?new n({max:e[0]}):new n({max:e});this.Mean=e=>new n({mean:s(e)});this.Merge=(e,r,t)=>t?new n({merge:s(e),with:s(r),lambda:t}):new n({merge:s(e),with:s(r)});this.Min=(...e)=>e.length===1?new n({min:e[0]}):new n({min:e});this.Minute=e=>new n({minute:e});this.Modulo=(...e)=>e.length===1?new n({modulo:e[0]}):new n({modulo:e});this.Month=e=>new n({month:e});this.MoveDatabase=(e,r)=>new n({move_database:e,to:r});this.Multiply=(...e)=>e.length===1?new n({multiply:e[0]}):new n({multiply:e});this.NewId=()=>new n({new_id:null});this.Not=e=>new n({not:e});this.Now=()=>new n({now:null});this.Or=(...e)=>e.length===1?new n({or:e[0]}):new n({or:e});this.Paginate=(e,r)=>r?r instanceof n?new n({paginate:e,raw:s(r.toJSON())}):new n(a({paginate:e},p(r))):new n({paginate:e});this.Pow=(e,r)=>new n({pow:e,exp:r});this.Prepend=(e,r)=>new n({prepend:s(e),collection:s(r)});this.Query=e=>new n({query:e});this.RTrim=e=>new n({rtrim:e});this.Radians=e=>new n({radians:e});this.Range=(e,r,t)=>new n({range:e,from:s(r),to:s(t)});this.Reduce=(e,r,t)=>new n({reduce:e,initial:r,arrayOrSet:s(t)});this.Ref=(e,r)=>new n({id:r,ref:e});this.RegexEscape=e=>new n({regexescape:e});this.Remove=(e,r,t)=>new n({remove:e,ts:r,action:t});this.Repeat=(e,r)=>r!==void 0?new n({repeat:e,number:r}):new n({repeat:e});this.Replace=(e,r)=>new n({replace:e,params:s(r)});this.ReplaceStr=(e,r,t)=>new n({replacestr:e,find:r,replace:t});this.ReplaceStrRegex=(e,r,t,i)=>i!==void 0?new n({replacestrregex:e,pattern:r,replace:t,first:i}):new n({replacestrregex:e,pattern:r,replace:t});this.Reverse=e=>new n({reverse:s(e)});this.Role=(e,r)=>r?new n({role:e,scope:r}):new n({role:e});this.Roles=e=>e?new n({roles:e}):new n({roles:null});this.Round=(e,r)=>r!==void 0?new n({round:e,precision:r}):new n({round:e});this.Second=e=>new n({second:e});this.Select=(e,r,t)=>t?new n({from:s(r),select:e,default:s(t)}):new n({from:s(r),select:e});this.Sign=e=>new n({sign:e});this.Sin=e=>new n({sin:e});this.Singleton=e=>new n({singleton:e});this.Sinh=e=>new n({sinh:e});this.Space=e=>new n({space:e});this.Sqrt=e=>new n({sqrt:e});this.StartsWith=(e,r)=>new n({startswith:e,search:r});this.SubString=(e,r,t)=>t!==void 0?new n({substring:e,start:r,length:t}):new n({substring:e,start:r});this.Subtract=(...e)=>e.length===1?new n({subtract:e[0]}):new n({subtract:e});this.Sum=e=>new n({sum:e});this.Take=(e,r)=>new n({take:e,collection:s(r)});this.Tan=e=>new n({tan:e});this.Tanh=e=>new n({tanh:e});this.Time=e=>new n({time:e});this.TimeAdd=(e,r,t)=>new n({time_add:e,offset:r,unit:t});this.TimeDiff=(e,r,t)=>new n({time_diff:e,other:r,unit:t});this.TimeSubtract=(e,r,t)=>new n({time_subtract:e,offset:r,unit:t});this.TitleCase=e=>new n({titlecase:e});this.ToArray=e=>new n({to_array:s(e)});this.ToDate=e=>new n({to_date:s(e)});this.ToDouble=e=>new n({to_double:s(e)});this.ToInteger=e=>new n({to_integer:s(e)});this.ToMicros=e=>new n({to_micros:s(e)});this.ToMillis=e=>new n({to_millis:s(e)});this.ToNumber=e=>new n({to_number:s(e)});this.ToObject=e=>new n({to_object:s(e)});this.ToSeconds=e=>new n({to_seconds:s(e)});this.ToString=e=>new n({to_string:s(e)});this.ToTime=e=>new n({to_time:s(e)});this.Tokens=e=>e?new n({tokens:e}):new n({tokens:null});this.Trim=e=>new n({trim:e});this.Trunc=(e,r)=>r!==void 0?new n({trunc:e,precision:r}):new n({trunc:e});this.Union=(...e)=>new n({union:s(e)});this.Update=(e,r)=>new n({update:e,params:s(r)});this.UpperCase=e=>new n({uppercase:e});this.Var=e=>new n({var:e});this.Year=e=>new n({year:e})}};var _crossfetch = require('cross-fetch'); var _crossfetch2 = _interopRequireDefault(_crossfetch);var c=class extends Error{constructor(e,r,t){super(r);this.code=e;this.description=r;this.rawErrors=t;this.name="QueryError"}};var x;(function(t){t.US="https://db.us.fauna.com/",t.EU="https://db.eu.fauna.com/",t.CLASSIC="https://db.fauna.com/"})(x||(x= exports.RegionGroupURL ={}));var S=(o,e)=>_crossfetch2.default.call(void 0, o,e),O= exports.Client =class{constructor(e){this.query=async e=>{let r=await this.config.fetch(this.config.url,{method:"POST",headers:{Authorization:`Bearer ${this.config.secret}`},body:JSON.stringify(s(e))});if(!r.ok){let i=await r.json(),w=i.errors[0];throw new c(w.code,w.description,i.errors)}return(await r.json()).resource};var r,t;this.config=E(a({},e),{url:(r=e.url)!=null?r:x.CLASSIC,fetch:(t=e.fetch)!=null?t:S})}};exports.Client = O; exports.Expression = n; exports.QueryBuilder = l; exports.QueryError = c; exports.RegionGroupURL = x; exports.wrap = s; exports.wrapValues = p;