@based/client 2.4.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +306 -35
- package/dist/Client.d.ts +15 -3
- package/dist/Client.js +49 -19
- package/dist/Client.js.map +1 -1
- package/dist/auth.d.ts +10 -0
- package/dist/auth.js +75 -0
- package/dist/auth.js.map +1 -0
- package/dist/createError.d.ts +2 -4
- package/dist/createError.js +2 -1
- package/dist/createError.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/queue.d.ts +2 -2
- package/dist/queue.js +2 -1
- package/dist/queue.js.map +1 -1
- package/dist/request.d.ts +1 -1
- package/dist/request.js +21 -1
- package/dist/request.js.map +1 -1
- package/dist/subscriptions/sendAllSubscriptions.js +1 -1
- package/dist/subscriptions/sendAllSubscriptions.js.map +1 -1
- package/dist/types.d.ts +29 -3
- package/dist/types.js +12 -1
- package/dist/types.js.map +1 -1
- package/dist/websocket/index.js +1 -1
- package/dist/websocket/index.js.map +1 -1
- package/docs/authorize.md +56 -0
- package/docs/files.md +66 -0
- package/docs/get-started.md +60 -0
- package/docs/get.md +759 -0
- package/docs/schema.md +218 -0
- package/docs/set.md +508 -0
- package/package.json +9 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Emitter from './Emitter';
|
|
2
|
-
import { GenericObject, Configuration, Query, DigestOptions, SetOptions, Copy, SendTokenOptions, TrackOpts, AnalyticsTypes, AnalyticsResult, AnalyticsOpts, AnalyticsTypesOpts, AnalyticsHistoryOpts, FileUploadOptions, FileUploadSrc, FileUploadPath, FileUploadStream, AnalyticsHistoryResult } from '@based/types';
|
|
2
|
+
import { GenericObject, Configuration, Query, DigestOptions, SetOptions, Copy, SendTokenOptions, TrackOpts, AnalyticsTypes, AnalyticsResult, AnalyticsOpts, AnalyticsTypesOpts, AnalyticsHistoryOpts, FileUploadOptions, FileUploadSrc, FileUploadPath, FileUploadStream, AnalyticsHistoryResult, LoginOpts } from '@based/types';
|
|
3
3
|
import { addSubscriber, generateSubscriptionId, addGetSubscriber, removeSubscriber } from './subscriptions';
|
|
4
4
|
import { addRequest } from './request';
|
|
5
5
|
import { BasedClient } from './Client';
|
|
@@ -84,6 +84,12 @@ export declare class Based extends Emitter {
|
|
|
84
84
|
isDeleted: boolean;
|
|
85
85
|
}>;
|
|
86
86
|
schema(): Promise<Configuration>;
|
|
87
|
+
removeType(type: string, db?: string): Promise<{
|
|
88
|
+
removed: boolean;
|
|
89
|
+
}>;
|
|
90
|
+
removeField(type: string, path: string | string[], db?: string): Promise<{
|
|
91
|
+
removed: boolean;
|
|
92
|
+
}>;
|
|
87
93
|
updateSchema(configuration: {
|
|
88
94
|
schema?: GenericObject;
|
|
89
95
|
db?: string;
|
|
@@ -93,6 +99,8 @@ export declare class Based extends Emitter {
|
|
|
93
99
|
}[]): Promise<GenericObject>;
|
|
94
100
|
getToken(): string;
|
|
95
101
|
auth(token: string | false, options?: SendTokenOptions): Promise<false | string | number>;
|
|
102
|
+
login(opts: LoginOpts): Promise<GenericObject>;
|
|
103
|
+
logout(): Promise<GenericObject>;
|
|
96
104
|
}
|
|
97
105
|
export declare type BasedOpts = {
|
|
98
106
|
env?: string;
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
2
|
-
`),i=0;
|
|
1
|
+
var Ze=Object.create;var U=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames,ke=Object.getOwnPropertySymbols,st=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable;var Se=(e,s,t)=>s in e?U(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,Oe=(e,s)=>{for(var t in s||(s={}))Te.call(s,t)&&Se(e,t,s[t]);if(ke)for(var t of ke(s))rt.call(s,t)&&Se(e,t,s[t]);return e};var Ce=(e,s)=>{for(var t in s)U(e,t,{get:s[t],enumerable:!0})},L=(e,s,t,i)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of tt(s))!Te.call(e,r)&&r!==t&&U(e,r,{get:()=>s[r],enumerable:!(i=et(s,r))||i.enumerable});return e},d=(e,s,t)=>(L(e,s,"default"),t&&L(t,s,"default")),H=(e,s,t)=>(t=e!=null?Ze(st(e)):{},L(s||!e||!e.__esModule?U(t,"default",{value:e,enumerable:!0}):t,e)),it=e=>L(U({},"__esModule",{value:!0}),e);var m={};Ce(m,{Based:()=>se,BasedClient:()=>D,BasedGraphQL:()=>S.BasedGraphQL,Observable:()=>P,addGetSubscriber:()=>z,addRequest:()=>k,addSubscriber:()=>E,createGraphqlOperations:()=>S.createOperations,default:()=>gt,generateSubscriptionId:()=>q,generateTrackingKey:()=>be,handleGraphqlVariables:()=>S.handleGraphqlVariables,parseGraphql:()=>S.parseGraphql,removeSubscriber:()=>y});module.exports=it(m);var ie=class{constructor(){this.listeners={};Object.defineProperty(this,"listeners",{enumerable:!1,writable:!0})}emit(s,t){this.listeners[s]&&this.listeners[s].forEach(i=>i(t))}on(s,t){this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(t)}removeAllListeners(){this.listeners={}}once(s,t){this.on(s,i=>{t(i),this.removeListener(s,t)})}removeListener(s,t){let i=this.listeners[s];if(i){if(!t)delete this.listeners[s];else for(let r=0,n=i.length;r<n;r++)if(i[r]===t){i.splice(r,1);break}}}},we=ie;var Pe=(e,s)=>{typeof e=="function"?e().then(t=>{s(t)}):s(e)};var Be=H(require("isomorphic-ws")),G=new Map,qe;typeof window!="undefined"&&document.addEventListener("visibilitychange",function(){clearTimeout(qe),document.hidden?qe=setTimeout(()=>{G.forEach(e=>{e(!1)})},3e4):G.forEach(e=>{e(!0)})});var ne=(e,s,t={destroy:()=>{G.delete(t)}},i=0,r=!1)=>(Pe(s,n=>{setTimeout(()=>{if(t.disconnected)return;let o=!0;G.set(t,a=>{t.disconnected||(!a&&o?(console.warn("Send to background - close connection"),o=!1,e.onClose(),c.close()):!o&&a&&(G.delete(t),ne(e,s,t,0,!0)))});let c=t.ws=new Be.default(n);c.onerror=()=>{},c.onmessage=a=>e.onData(a),c.onopen=()=>{if(o){if(t.disconnected)return;i=100,r&&e.onReconnect(),e.onOpen()}},c.onclose=()=>{if(o){if(t.disconnected)return;e.onClose(),ne(e,s,t,Math.min(1250,Math.min(i+500)),!0)}}},i)}),t),oe=ne;var v=require("@based/types");var Q=require("@based/types");var j=require("@based/types");var nt=e=>{clearTimeout(e.idlePing),e.idlePing=setTimeout(()=>{e.connection&&e.connected&&!e.connection.disconnected&&e.connection.ws.send("1")},6e4)},_=nt;var f=(e,s)=>{s[0]===j.RequestTypes.Unsubscribe||s[0]===j.RequestTypes.Subscription||s[0]===j.RequestTypes.SendSubscriptionData||s[0]===j.RequestTypes.GetSubscription?e.subscriptionQueue.push(s):e.queue.push(s),e.connected&&!e.drainInProgress&&ae(e)},ae=e=>{e.connected&&!e.drainInProgress&&(e.queue.length||e.subscriptionQueue.length)&&!e.isLogginIn&&(e.drainInProgress=!0,e.drainTimeout=setTimeout(()=>{if(e.drainInProgress=!1,e.queue.length||e.subscriptionQueue.length){let s=[...e.queue,...e.subscriptionQueue];e.queue=[],e.subscriptionQueue=[],e.connection.ws.send(JSON.stringify(s)),_(e)}},0))},Re=e=>{e.drainInProgress&&(clearTimeout(e.drainTimeout),e.drainInProgress=!1)};var ce=require("@saulx/hash"),q=(e,s)=>s?(0,ce.hashObjectIgnoreKeyOrder)([s,e]):(0,ce.hashObjectIgnoreKeyOrder)(e);var z=(e,s,t,i,r)=>{i||(i=q(s,r));let n=e.subscriptions[i],o=e.cache[i];if(n)if(n.authError)if(!e.beingAuth)t(n.authError.error,i,0);else{let c=++n.cnt;n.subscribers[c]={onInitial:t}}else if(o)t(null,i,0,o.value);else{let c=++n.cnt;n.subscribers[c]={onInitial:t}}else{n=e.subscriptions[i]={query:s,cnt:1,name:r,subscribers:{1:{onInitial:t}}};let c;for(let a=0;a<e.subscriptionQueue.length;a++){let[u,l,,p]=e.subscriptionQueue[a];(u===Q.RequestTypes.Unsubscribe||u===Q.RequestTypes.SendSubscriptionData)&&l===i?(e.subscriptionQueue.splice(a,1),a--):(u===Q.RequestTypes.Subscription||u===Q.RequestTypes.GetSubscription)&&l===i&&(c=!0,u===Q.RequestTypes.Subscription&&(p!==o.checksum&&(e.subscriptionQueue[a][3]=o.checksum),e.subscriptionQueue[a][4]=2))}if(!c){let a=[Q.RequestTypes.GetSubscription,i,s];o&&a.push(o.checksum),r&&(o||a.push(0),a.push(r)),f(e,a)}}};var B=require("@based/types");var E=(e,s,t,i,r,n,o)=>{n||(n=q(s,o));let c=e.subscriptions[n],a=e.cache[n],u;if(c){u=++c.cnt;let l=!0;for(let p in c.subscribers)if(c.subscribers[p].onData){l=!1;break}if(c.subscribers[u]={onError:r,onData:t,onInitial:i},l){for(let b=0;b<e.subscriptionQueue.length;b++){let[h,T]=e.subscriptionQueue[b];h===B.RequestTypes.GetSubscription&&T===n&&(e.subscriptionQueue.splice(b,1),b--)}let p=[B.RequestTypes.Subscription,n,s];a&&(p.push(a.checksum),p.push(2)),o&&(a||p.push(0,2),p.push(o)),f(e,p)}}else{u=1,c=e.subscriptions[n]={query:s,cnt:1,name:o,subscribers:{1:{onError:r,onData:t,onInitial:i}}};let l=!1,p=!1,b;for(let h=0;h<e.subscriptionQueue.length;h++){let[T,R,,A]=e.subscriptionQueue[h];(T===B.RequestTypes.Unsubscribe||T===B.RequestTypes.SendSubscriptionData||T===B.RequestTypes.GetSubscription)&&R===n?(T===B.RequestTypes.GetSubscription&&(p=!0),b&&(b[4]=2),e.subscriptionQueue.splice(h,1),h--):T===B.RequestTypes.Subscription&&R===n&&(l=!0,b=e.subscriptionQueue[h],A!==a.checksum&&(b[3]=a.checksum),!b[4]&&p&&(b[4]=2))}if(!l){let h=[B.RequestTypes.Subscription,n,s];a&&(h.push(a.checksum),p&&h.push(2)),o&&(a?!p&&a&&h.push(2):h.push(0,0),h.push(o)),f(e,h)}}return a&&(i&&(i(null,n,u),delete c.subscribers[u].onInitial),t&&t(a.value,a.checksum)),[n,u]};var $=require("@based/types");var y=(e,s,t)=>{let i=e.subscriptions[s];if(i){let r=!1;if(t?i.subscribers[t]&&(delete i.subscribers[t],i.cnt--,i.cnt===0&&(r=!0)):r=!0,r){delete e.subscriptions[s];let n=!1;for(let o=0;o<e.subscriptionQueue.length;o++){let[c,a]=e.subscriptionQueue[o];c===$.RequestTypes.Unsubscribe&&a===s?n=!0:(c===$.RequestTypes.Subscription||c===$.RequestTypes.SendSubscriptionData)&&a===s&&(e.subscriptionQueue.splice(o,1),o--)}n||f(e,[$.RequestTypes.Unsubscribe,s])}}};var Ee=require("@based/types"),Fe=e=>{for(let s=0;s<e.subscriptionQueue.length;s++)e.subscriptionQueue[s][0]===Ee.RequestTypes.Unsubscribe&&(e.subscriptionQueue.splice(s,1),s--)};var Qe=require("@based/types"),xe=e=>{for(let s=0;s<e.subscriptionQueue.length;s++)e.subscriptionQueue[s][0]===Qe.RequestTypes.SendSubscriptionData&&(e.subscriptionQueue.splice(s,1),s--)};var x=require("@based/types");var J=(e,s=!1)=>{for(let t in e.subscriptions){let i=Number(t),r=e.subscriptions[t];if(s&&!r.authError)continue;let n,o,c;for(let l=0;l<e.subscriptionQueue.length;l++){let[p,b]=e.subscriptionQueue[l];b===i&&(p===x.RequestTypes.GetSubscription?(c=l,n=e.subscriptionQueue[l]):p===x.RequestTypes.Subscription&&(o=e.subscriptionQueue[l]))}n&&o&&console.error("GET IN Q AND SUB IN Q SHOULD BE IMPOSSIBLE");let a=e.cache[i],u=!1;if(n){let l=!0;for(let p in r.subscribers)if(r.subscribers[p].onData){l=!1;break}l?u=!0:(console.info("not only gets remove get"),e.subscriptionQueue.splice(c,1)),a&&n[3]!==a.checksum&&(n[3]=a.checksum)}if(!u)if(o)a&&o[3]!==a.checksum&&(o[3]=a.checksum,n&&(o[4]=2));else{let{name:l,query:p}=e.subscriptions[i];l?a?f(e,[x.RequestTypes.Subscription,i,p,a.checksum,n?2:0,l]):f(e,[x.RequestTypes.Subscription,i,p,0,n?2:0,l]):a?f(e,[x.RequestTypes.Subscription,i,p,a.checksum,n?2:0]):f(e,[x.RequestTypes.Subscription,i,p,0,n?2:0])}}};var Ae=require("@based/types");var K=(e,s)=>{if(typeof window!="undefined")return e;let t={white:"\x1B[37;1m",reset:"\x1B[0m",blue:"\x1B[34m",red:"\x1B[31m",green:"\x1B[32m",brightBlue:"\x1B[34;1m",brightRed:"\x1B[31;1m"};return`${t[s]}${e}${t.reset}`},ue=(e,s=0,t=!1,i="",r=!1)=>{let n="";for(let a=0;a<s;a++)n+=" ";let o=t?[]:i?[n+`${K(i,r?"brightRed":"white")} {`]:[n+"{"],c=!1;t||(n+=" ",s+=1);for(let a in e){let u=e[a],l=a[0]==="$"?K(a,"white"):a;if(c&&(o[o.length-1]+=","),Array.isArray(u)){o.push(`${n} ${l}: [`);for(let p=0;p<u.length;p++){let b=u[p];o.push(...b&&typeof b=="object"?ue(b,s+4):[`${n} ${b}`]),p!==u.length-1&&(o[o.length-1]+=",")}o.push(`${n} ]`)}else u&&typeof u=="object"?(o.push(`${n} ${l}: {`),o.push(...ue(u,s+2,!0)),o.push(`${n} }`)):o.push(`${n} ${l}: ${u}`);c=!0}return t||o.push(n.slice(0,-1)+"}"),o},W=ue;var C=e=>{let s=new Ae.BasedError(e.message);if(s.name=e.name?`${e.type} from ${e.name}`:e.type,s.stack=null,e.query||e.payload){let t=s.message.split(`
|
|
2
|
+
`),i=0;t[0]===""&&t.shift();let r=t[0];for(let n=0;n<r.length;n++)if(r[n]!==" "){i=n-2;break}i>0?t=t.map(n=>n.slice(i)):t=t.map(n=>" "+n),e.code&&(s.code=e.code),s.message=`
|
|
3
3
|
|
|
4
|
-
`+(
|
|
4
|
+
`+(e.payload&&typeof e.payload!="object"?` ${K("Payload","brightRed")} ${e.payload}`:W(e.payload||e.query,0,!1,e.payload?"Payload":"Query",!0).map(n=>" "+n).join(`
|
|
5
5
|
`))+`
|
|
6
6
|
|
|
7
|
-
`+
|
|
7
|
+
`+t.join(`
|
|
8
8
|
`)+`
|
|
9
9
|
|
|
10
|
-
`}return s};var
|
|
10
|
+
`}return s};var De=(e,s)=>{let[,t,i,r,n]=s,o=e.subscriptions[t];if(o){let c=e.cache[t]&&e.cache[t].checksum;if(n){let a=C(n);n.auth&&(o.authError={token:e.token,error:a});for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial?n.auth?(l.onError&&l.onError(a),l.onInitial(a,Number(t),Number(u),void 0,!0),delete l.onInitial):(l.onInitial(a,Number(t),Number(u)),delete l.onInitial,y(e,t,Number(u))):l.onError&&l.onError(a)}}else if(c===r){o.authError&&delete o.authError;for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(t),Number(a),e.cache[t].value),delete u.onInitial,u.onData||y(e,t,Number(a)))}}else{o.authError&&delete o.authError,e.cache[t]={value:i,checksum:r};for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(t),Number(a),i),delete u.onInitial,u.onData||y(e,t,Number(a))),u.onData&&u.onData(i,r)}}}};var Ie=require("@saulx/diff"),V=require("@based/types");var Ue=(e,s)=>{let[,t,i,[r,n]]=s,o=e.subscriptions[t];if(o){let c=e.cache[t];if(!c||c.checksum!==r)if(c)if(c.checksum===n)for(let a in o.subscribers){let u=o.subscribers[a];u.onInitial&&(u.onInitial(null,Number(t),Number(a),c.value),delete u.onInitial,u.onData||y(e,t,Number(a)))}else f(e,[V.RequestTypes.SendSubscriptionData,t]);else f(e,[V.RequestTypes.SendSubscriptionData,t]);else{let a=!1;try{c.value=(0,Ie.applyPatch)(c.value,i),c.value===null&&(a=!0)}catch(u){a=!0}if(a)console.warn(`
|
|
11
11
|
Found corrupt data while applying diff to subscription need to re-fetch
|
|
12
|
-
`),console.warn(
|
|
12
|
+
`),console.warn(W(o.query,2,!1,"Query").join(`
|
|
13
13
|
`)+`
|
|
14
14
|
|
|
15
|
-
`),delete t.cache[e],m(t,[J.RequestTypes.SendSubscriptionData,e]);else{c.checksum=n;for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial&&(l.onInitial(null,Number(e),Number(u),c.value),delete l.onInitial,l.onData||g(t,e,Number(u))),l.onData&&l.onData(c.value,c.checksum)}}}}};var Re=(t,s)=>{for(let e of s[1]){delete t.cache[e];let i=t.subscriptions[e];if(i){let r={type:"AuthorizationError",name:i.name?`observe "${i.name}"`:"observe",message:"Unauthorized request",payload:i.query,auth:!0},n=q(r);i.authError={token:t.token,error:n};for(let o in i.subscribers){let c=i.subscribers[o];c.onError&&c.onError(n)}}}};var Ue=require("@based/types");var Xe=0,O=(t,s,e,i,r,n)=>{let o=++Xe;t.requestCallbacks[o]={resolve:i,reject:r},s===Ue.RequestTypes.Call?m(t,[s,n,o,e]):m(t,[s,o,e])};var xe=(t,s)=>{let[,e,i,r]=s,n=t.requestCallbacks[e];n&&(delete t.requestCallbacks[e],r?n.reject(q(r)):n.resolve(i))};var S=require("@based/types");var ae=require("@based/types");var Ye=t=>typeof t!="undefined"&&t!==null,Ze=(t,s,e)=>{if(t.beingAuth=!0,s)t.token=s,t.sendTokenOptions=e;else{for(let i in t.cache)t.subscriptions[i]||delete t.cache[i];delete t.token,delete t.sendTokenOptions}if(t.connected){let i=s?[ae.RequestTypes.Token,s,e].filter(Ye):[ae.RequestTypes.Token];t.connection.ws.send(JSON.stringify(i)),M(t),H(t,!0)}},I=Ze;var A=class{constructor(s){this.auth=[];this.subscriptions={};this.cache={};this.requestCallbacks={};this.connected=!1;this.subscriptionQueue=[];this.queue=[];this.drainInProgress=!1;this.based=s}onClose(){this.connected=!1,Ce(this),Pe(this),qe(this),this.based.listeners.disconnect&&this.based.listeners.disconnect.forEach(s=>s())}onReconnect(){if(this.based.listeners.reconnect&&this.based.listeners.reconnect.forEach(s=>s()),this.tracking)for(let s of this.tracking)m(this,[S.RequestTypes.Track,{t:s}])}onOpen(){this.connected=!0,this.based.listeners.connect&&this.based.listeners.connect.forEach(s=>s()),this.token&&I(this,this.token,this.sendTokenOptions),H(this),ie(this)}onData(s){try{let e=JSON.parse(s.data);if(e[0]===S.RequestTypes.Token){e[1].length&&Re(this,e);for(let i of this.auth)i(!e[2]);this.beingAuth=!1,this.auth=[]}else e[0]===S.RequestTypes.Set||e[0]===S.RequestTypes.Get||e[0]===S.RequestTypes.Configuration||e[0]===S.RequestTypes.GetConfiguration||e[0]===S.RequestTypes.Call||e[0]===S.RequestTypes.Delete||e[0]===S.RequestTypes.Copy||e[0]===S.RequestTypes.Digest?xe(this,e):e[0]===S.RequestTypes.Subscription?Ee(this,e):e[0]===S.RequestTypes.SubscriptionDiff&&Qe(this,e)}catch(e){console.error("Received incorrect data ",s)}}};var ce=(t,s)=>{let e;if(t.configuration&&t.configuration.schema)for(let i in t.configuration.schema){let r=t.configuration.schema[i];if(r.prefixToTypeMapping){for(let n in r.prefixToTypeMapping)if(r.prefixToTypeMapping[n]===s){e=n;break}}}return e};var fe=require("@saulx/hash");var Ie=require("@based/types"),Ae=require("@saulx/hash"),De=new Set,et=t=>{if(typeof window!="undefined"){if(De.has(t))return!1;De.add(t);try{let s="_ba:"+(0,Ae.hashCompact)(t);return localStorage.getItem(s)?!1:(localStorage.setItem(s,"1"),!0)}catch(s){return!1}}return!1},ue=(t,s)=>{if(s){let e=`${t}`,i=Object.keys(s).sort();for(let r of i)e+="_"+r+"_"+s[r];return e}else return t},G=(t,s,e,i,r,n,o)=>{let c=ue(s,e),a={t:c};o&&(a.r=1),r&&(a.e=1,n&&(a.o=n)),i?(a.s=1,t.tracking.delete(c)):o||(r||(t.tracking||(t.tracking=new Set),t.tracking.add(c)),et(c)&&(a.u=1)),m(t,[Ie.RequestTypes.Track,a])};var le=class{constructor(s,e,i){this.closed=!1;this.client=s,this.subId=i,this.subscriberId=e}unsubscribe(){this.closed=!0,g(this.client,this.subId,this.subscriberId)}},pe=class{constructor(s,e){this.closed=!1;this.client=s,this.subs=e}unsubscribe(){if(!this.closed){this.closed=!0;for(let s of this.subs)s.unsubscribe()}}},K=class{constructor(s,e){this.client=s,this.components=e}subscribe(s,e,i){let r={data:{}},n=[];for(let{key:o,obs:c}of this.components){let a=c.subscribe(u=>{if(o===""){Object.assign(r.data,u),s(r);return}r.data[o]=u,s(r)},e);n.push(a)}return new pe(this.client,n)}},T=class{constructor(s,e,i){this.client=s,this.subId=typeof e=="string"?C(i,e):C(e),this.name=typeof e=="string"?e:null,this.payload=typeof e=="string"?i:e}subscribe(s,e,i){let[,r]=B(this.client,this.payload,s,n=>{n&&(console.error(n),e&&e(n))},e,this.subId,this.name);return new le(this.client,r,this.subId)}};var de={},$={},tt=(t,s)=>{de[t]||(de[t]=!0,setTimeout(()=>{console.info("Drain file q"),de[t]=!1;let e=$[t];$[t]=[];let i=new global.FormData;for(let r of e){let{raw:n,name:o,id:c,file:a,functionName:u}=r,l=`${u||""}|${n?1:0}|${c}|${a.size}${o?`|${o}`:""}`;i.append(l,a)}try{let r=new global.XMLHttpRequest;r.upload.onprogress=n=>{let o=100*(n.loaded||n.position)/(n.totalSize||n.total);console.info(o,"upload...")},r.onerror=n=>{console.error("error!",n,"flap",r.responseText)},r.timeout=1e3*60*60*24,r.onabort=n=>{console.error("abort",n)},r.ontimeout=n=>{console.error("on timeout",n)},r.onload=()=>{let n={};try{n=JSON.parse(r.response),console.info("SUCCESS",n)}catch(o){console.error("something wrong with file upload",o)}},r.open("POST",t+"/file"),r.setRequestHeader("Content-Type","multipart/form-data"),r.setRequestHeader("Authorization",s),r.send(i)}catch(r){console.error("Something wrong with xhr upload",r)}},500))},Ge=async(t,s,e,i,r,n,o)=>{$[e]||($[e]=[]),$[e].push({file:s,id:i,url:e,raw:r,name:n,functionName:o}),tt(e,t.getToken())};var $e=N(require("@based/get-service")),W={},V={},st=async(t,s)=>{if(s.url)return typeof s.url=="string"?s.url:await s.url();if(!t.opts.env&&t.opts.url)return typeof t.opts.url=="string"?t.opts.url:await t.opts.url();let{env:e,project:i,org:r}=t.opts,n=e+"/"+i+"/"+r+"/"+t.opts.cluster;if(W[n])return W[n];if(V[n])return(await V[n]).url;let o=await(V[n]=(0,$e.default)({env:e,project:i,org:r,name:"@based/hub",key:"file-upload",optionalKey:!0},0,t.opts.cluster));return delete V[n],setTimeout(()=>{delete W[n]},2e3),W[n]=o.url},je=st;var Ne=N(require("cross-fetch")),X=(t,s,e)=>((0,Ne.default)(s,{method:"POST",cache:"no-cache",headers:{"Content-Type":e.mimeType||"text/plain","File-Id":e.id,"File-Is-Raw":e.raw?"1":"0","File-Name":e.name||"","Function-Name":e.functionName||"",Authorization:t.getToken()},body:e.contents}).then(i=>{}).catch(i=>{console.error("Error while uploading file",i)}),{id:e.id});var Q=require("./file/stream"),Y=typeof window!="undefined",rt=t=>"src"in t&&typeof t.src=="string",it=t=>"path"in t&&typeof t.path=="string",nt=t=>"contents"in t&&(0,Q.isStream)(t.contents),Me=async(t,s)=>{if(rt(s)){let r=s.id?{$id:s.id}:{type:"file"};return s.src?(r.src=s.src,r.origin=s.src,s.size&&(r.size=s.size),s.name&&(r.name=s.name),s.parents&&(r.parents=s.parents),await t.set(r)):void 0}let e=s.id;if(!e){let r={type:"file",progress:0};s.name?r.name=s.name:global.File&&"contents"in s&&s.contents instanceof global.File&&(r.name=s.contents.name),s.parents&&(r.parents=s.parents),e=(await t.set(r)).id}s.id=e;let i=(await je(t,s)).replace(/^ws/,"http");if(it(s))return(0,Q.uploadFilePath)(t,i,s),{id:e};if(nt(s))return(0,Q.uploadFileStream)(t,i,s),{id:e};if(s.contents instanceof ArrayBuffer)return s.contents=Y?new global.Blob([s.contents],{type:s.mimeType||"text/plain"}):global.Buffer.from(s.contents),X(t,i+"/file",s);if(Y&&s.contents instanceof global.Blob)return s.mimeType||(s.mimeType=s.contents.type),X(t,i+"/file",s);if(typeof s.contents=="string"||!Y&&s.contents instanceof global.Buffer)return X(t,i+"/file",s);if(Y&&s.contents instanceof File)return Ge(t,s.contents,i,s.id,s.raw||!1,s.name,s.functionName),{id:e};throw s.id||await t.delete({$id:e}),new Error(`Invalid contents for file api ${JSON.stringify(s,null,2)}`)};var ee=N(require("@based/get-service")),be=require("@saulx/utils"),y=require("@based/graphql");b(f,require("@based/types"),module.exports);var Z=class extends Se{constructor(e){super();this.client=new A(this),Object.defineProperty(this,"client",{enumerable:!1,writable:!0}),e&&e.url&&this.connect(e.url),this.graphql={query:this.gqlQuery.bind(this),live:this.gqlLive.bind(this)}}connect(e){!e&&this._url?this.client.connection||(this.client.connection=re(this.client,this._url)):(this._url=e,this.client.connection=re(this.client,e))}disconnect(){this.client.connection&&(this.client.connection.disconnected=!0,this.client.connection.destroy(),this.client.connection.ws&&this.client.connection.ws.close(),this.client.connected&&this.client.onClose(),delete this.client.connection),this.client.connected=!1}observeUntil(e,i,r){return new Promise((n,o)=>{let c,a=!1;this.observe(e,(u,l)=>{r&&r(u,l),i(u,l)&&(a=!0,c&&c(),n(u))}).then(u=>{a?c():c=u}).catch(u=>{o(u)})})}gql(e,...i){typeof e=="string"&&(e=[e]);let r=e[0];return i.forEach((n,o)=>{n&&n.kind==="Document"?r+=n.loc.source.body:r+=n,r+=e[o+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema},(0,y.parseGraphql)(r))}gqlDb(e="default"){return(i,...r)=>{typeof i=="string"&&(i=[i]);let n=i[0];return r.forEach((o,c)=>{o&&o.kind==="Document"?n+=o.loc.source.body:n+=o,n+=i[c+1]}),(0,y.createOperations)({schemas:this.client.configuration.schema,db:e},(0,y.parseGraphql)(n))}}observe(e,i,r,n){return typeof e=="string"?new Promise((o,c)=>{let a=typeof i=="function",u=a?i:r,l=a?r:n;B(this.client,a?void 0:i,u,(p,d,h,v,P)=>{p&&!P?c(p):o(()=>{g(this.client,d,h)})},l,void 0,e)}):new Promise((o,c)=>{B(this.client,e,i,(a,u,l,p,d)=>{a&&!d?c(a):o(()=>{g(this.client,u,l)})},r)})}createObservable(e,i){return typeof e=="string"?new T(this.client,e,i):new T(this.client,e)}observeSchema(e,i,r){return new Promise((n,o)=>{let c=typeof e=="string"?e:"default",a=typeof e=="string"?i:e,u=typeof e=="string"?r:i;B(this.client,{$subscribe_schema:c},(l,p)=>{this.client.configuration||(this.client.configuration={dbs:[],schema:{},functions:{}}),this.client.configuration.schema[c]=l,a(l,p)},(l,p,d,h,v)=>{l&&!v?o(l):n(()=>{g(this.client,p,d)})},u)})}get(e,i){return typeof e=="string"?new Promise((r,n)=>{L(this.client,i,(o,c,a,u)=>{o?n(o):r(u)},0,e)}):new Promise((r,n)=>{O(this.client,k.RequestTypes.Get,e,r,n)})}file(e){return global.File&&e instanceof File&&(e={contents:e}),Me(this,e)}call(e,i){return new Promise((r,n)=>{O(this.client,k.RequestTypes.Call,i,r,n,e)})}async id(e,i){let r=ce(this.client,e);if(r||(await this.schema(),r=ce(this.client,e)),!r)throw q({message:`Type does not exist ${e}`,type:"Invalid type",payload:i?{type:e,opts:i}:{type:e}});if(i){let n=(0,fe.hashCompact)(i,8,!0);return r+n}else return r+(0,fe.hashCompact)(Math.floor(Math.random()*99999999999)+""+Date.now())}digest(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Digest,e,i,r)})}set(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Set,e,i,r)})}copy(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Copy,e,i,r)})}async gqlQuery(e,i={}){let r;typeof e=="string"?r=this.gql(e):r=e;try{if(r=(0,y.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o={$db:r.db},c=[];for(let u in r.ops){if(r.ops[u].fnObserve){let l=await this.get(r.ops[u].fnObserve.name,r.ops[u].fnObserve.payload);c.push({key:u,reply:l});continue}r.ops[u].get&&(o[u]=r.ops[u].get)}let a=await this.get(o);for(let{key:u,reply:l}of c)a[u]=l;return{data:a}}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{var p,d,h,v,P;if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set);if(!c.get){let F={};F.id=a;let me=(P=(v=(h=(d=(p=this.client)==null?void 0:p.configuration)==null?void 0:d.schema)==null?void 0:h[r.db])==null?void 0:v.prefixToTypeMapping)==null?void 0:P[a.slice(0,2)];me&&(F.type=me),n[o]=F;return}let u=(0,be.deepCopy)(c.get);u.$id=a;let l=await this.get(u);n[o]=l})),{data:n}}catch(n){return{errors:[{message:n.message,locations:n.locations}]}}}async gqlLive(e,i={}){let r;if(typeof e=="string"?r=this.gql(e):r=e,r=(0,y.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o=[],c={};for(let a in r.ops){if(r.ops[a].fnObserve){let{name:u,payload:l}=r.ops[a].fnObserve;o.push({key:a,fn:{name:u,payload:l}});continue}c[a]=r.ops[a].get}if(o!=null&&o.length){let a=o.map(l=>({obs:new T(this.client,l.fn.name,l.fn.payload),key:l.key})),u=new T(this.client,ve({$db:r.db},c));return a.push({key:"",obs:u}),new K(this.client,a)}return new T(this.client,{$db:r.db,data:c})}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set),u=(0,be.deepCopy)(c.get);u.$id=a,n[o]=u})),new T(this.client,{$db:r.db,data:n})}analytics(e,i){return new Promise((r,n)=>{i?B(this.client,e,i,(o,c,a,u,l)=>{o&&!l?n(o):r(()=>{g(this.client,c,a)})},o=>console.error(o),void 0,"analytics"):L(this.client,e,(o,c,a,u)=>{o?n(o):((0,k.isAnalyticsHistoryOpts)(e)||(0,k.isAnalyticsTypesOpts)(e),r(u))},0,"analytics")})}track(e,i){G(this.client,e,i)}clearAnalytics(e,i){G(this.client,e,i,!1,!1,void 0,!0)}untrack(e,i){G(this.client,e,i,!0)}event(e,i,r){G(this.client,e,i,!1,!0,r)}delete(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Delete,e,i,r)})}schema(){return new Promise((e,i)=>{let r=n=>{this.client.configuration=n,e(n)};O(this.client,k.RequestTypes.GetConfiguration,0,r,i)})}updateSchema(e){return new Promise((i,r)=>{O(this.client,k.RequestTypes.Configuration,e,i,r)})}getToken(){return this.client.token}auth(e,i){return new Promise(r=>{this.client.auth.push(r),(e&&e!==this.client.token||e===!1&&this.client.token)&&(typeof e=="string"?I(this.client,e,i):I(this.client),this.emit("auth",e))})}},ot=(t,s)=>{if(s){let e;t+=/\?/.test(t)?"&":"?";for(let i in s){let r=s[i];t+=e?`&${i}=${r}`:`${i}=${r}`,e=!0}}return t},at=(t,s=Z)=>{let{env:e,project:i,org:r,url:n,key:o,name:c="@based/hub",cluster:a,params:u}=t;if(n||(a=t.cluster=(0,ee.getClusterUrl)(a),n=async()=>{let{url:l}=await(0,ee.default)({env:e,project:i,org:r,key:o,name:c},0,a);return ot(l,u)}),n){let l=new s;return l.opts=t,l.connect(n),l}},ct=at;0&&(module.exports={Based,BasedClient,BasedGraphQL,Observable,addGetSubscriber,addRequest,addSubscriber,createGraphqlOperations,generateSubscriptionId,generateTrackingKey,handleGraphqlVariables,parseGraphql,removeSubscriber});
|
|
15
|
+
`),delete e.cache[t],f(e,[V.RequestTypes.SendSubscriptionData,t]);else{c.checksum=n;for(let u in o.subscribers){let l=o.subscribers[u];l.onInitial&&(l.onInitial(null,Number(t),Number(u),c.value),delete l.onInitial,l.onData||y(e,t,Number(u))),l.onData&&l.onData(c.value,c.checksum)}}}}};var Ge=(e,s)=>{for(let t of s[1]){delete e.cache[t];let i=e.subscriptions[t];if(i){let r={type:"AuthorizationError",name:i.name?`observe "${i.name}"`:"observe",message:"Unauthorized request",payload:i.query,auth:!0},n=C(r);i.authError={token:e.token,error:n};for(let o in i.subscribers){let c=i.subscribers[o];c.onError&&c.onError(n)}}}};var je=require("@based/types");var ot=0,k=(e,s,t,i,r,n,o)=>{let c=++ot;e.requestCallbacks[c]={resolve:i,reject:r,type:s,payload:t,name:n,isRetry:o},s===je.RequestTypes.Call?f(e,[s,n,c,t]):f(e,[s,c,t])};var $e=(e,s)=>{let[,t,i,r]=s,n=e.requestCallbacks[t];n&&(delete e.requestCallbacks[t],r?n.reject(C(r)):n.resolve(i))};var O={};Ce(O,{BasedClient:()=>D});var g=require("@based/types");var le=require("@based/types");var at=e=>typeof e!="undefined"&&e!==null,ct=(e,s,t)=>{if(e.beingAuth=!0,s)e.token=s,e.sendTokenOptions=t;else{for(let i in e.cache)e.subscriptions[i]||delete e.cache[i];delete e.token,delete e.sendTokenOptions}if(e.connected){let i=s?[le.RequestTypes.Token,s,t].filter(at):[le.RequestTypes.Token];e.connection.ws.send(JSON.stringify(i)),_(e),J(e,!0)}},w=ct;var F=require("@based/types");var pe=0,Me=(e,s)=>{let t=++pe;return f(e,[F.RequestTypes.Auth,F.AuthRequestTypes.Login,t,s]),new Promise((i,r)=>{e.authCallbacks[t]={resolve:n=>{w(e,n.token,{refreshToken:n.refreshToken}),i(n)},reject:r}})},Ne=(e,s)=>{let t=++pe;return f(e,[F.RequestTypes.Auth,F.AuthRequestTypes.RenewToken,t,s]),new Promise((i,r)=>{e.authCallbacks[t]={resolve:n=>{w(e,n.token),i(n)},reject:r}})},Le=(e,s)=>{let[,t,i,r]=s,n=e.authCallbacks[t];n&&(delete e.authCallbacks[t],r?n.reject(C(r)):n.resolve(i))},He=e=>{let s=++pe;return f(e,[F.RequestTypes.Auth,F.AuthRequestTypes.Logout,s]),new Promise((t,i)=>{e.authCallbacks[s]={resolve:r=>{w(e),t(r)},reject:i}})};d(O,require("@based/types"));var D=class{constructor(s){this.auth=[];this.subscriptions={};this.cache={};this.requestCallbacks={};this.authCallbacks={};this.connected=!1;this.subscriptionQueue=[];this.queue=[];this.drainInProgress=!1;this.based=s}onClose(){this.connected=!1,Re(this),Fe(this),xe(this),this.based.listeners.disconnect&&this.based.listeners.disconnect.forEach(s=>s())}onReconnect(){if(this.based.listeners.reconnect&&this.based.listeners.reconnect.forEach(s=>s()),this.tracking)for(let s of this.tracking)f(this,[g.RequestTypes.Track,{t:s}])}onOpen(){this.connected=!0,this.based.listeners.connect&&this.based.listeners.connect.forEach(s=>s()),this.token&&w(this,this.token,this.sendTokenOptions),J(this),ae(this)}onData(s){var t;try{let i=JSON.parse(s.data),[r,n,o,c]=i;if(r===g.RequestTypes.Token){this.retryingRenewToken=!1,n.length&&Ge(this,i);for(let a of this.auth)a(!o);this.beingAuth=!1,this.auth=[]}else if(r===g.RequestTypes.Auth)Le(this,i);else if((c==null?void 0:c.code)===g.BasedErrorCodes.TokenExpired&&!this.retryingRenewToken){this.retryingRenewToken=!0;let a=(t=this.sendTokenOptions)==null?void 0:t.refreshToken;Ne(this,{refreshToken:a}).then(u=>{w(this,u.token,this.sendTokenOptions),k(this,r,c==null?void 0:c.payload,this.requestCallbacks[n].resolve,this.requestCallbacks[n].reject)}).catch(u=>{this.requestCallbacks[n].reject(u)})}else r===g.RequestTypes.Set||r===g.RequestTypes.Get||r===g.RequestTypes.Configuration||r===g.RequestTypes.GetConfiguration||r===g.RequestTypes.Call||r===g.RequestTypes.Delete||r===g.RequestTypes.Copy||r===g.RequestTypes.Digest||r===g.RequestTypes.RemoveType||r===g.RequestTypes.RemoveField?$e(this,i):r===g.RequestTypes.Subscription?De(this,i):r===g.RequestTypes.SubscriptionDiff&&Ue(this,i)}catch(i){console.error("Received incorrect data ",s)}}};var de=(e,s)=>{let t;if(e.configuration&&e.configuration.schema)for(let i in e.configuration.schema){let r=e.configuration.schema[i];if(r.prefixToTypeMapping){for(let n in r.prefixToTypeMapping)if(r.prefixToTypeMapping[n]===s){t=n;break}}}return t};var ge=require("@saulx/hash");var ze=require("@based/types"),Je=require("@saulx/hash"),_e=new Set,ut=e=>{if(typeof window!="undefined"){if(_e.has(e))return!1;_e.add(e);try{let s="_ba:"+(0,Je.hashCompact)(e);return localStorage.getItem(s)?!1:(localStorage.setItem(s,"1"),!0)}catch(s){return!1}}return!1},be=(e,s)=>{if(s){let t=`${e}`,i=Object.keys(s).sort();for(let r of i)t+="_"+r+"_"+s[r];return t}else return e},M=(e,s,t,i,r,n,o)=>{let c=be(s,t),a={t:c};o&&(a.r=1),r&&(a.e=1,n&&(a.o=n)),i?(a.s=1,e.tracking.delete(c)):o||(r||(e.tracking||(e.tracking=new Set),e.tracking.add(c)),ut(c)&&(a.u=1)),f(e,[ze.RequestTypes.Track,a])};var fe=class{constructor(s,t,i){this.closed=!1;this.client=s,this.subId=i,this.subscriberId=t}unsubscribe(){this.closed=!0,y(this.client,this.subId,this.subscriberId)}},me=class{constructor(s,t){this.closed=!1;this.client=s,this.subs=t}unsubscribe(){if(!this.closed){this.closed=!0;for(let s of this.subs)s.unsubscribe()}}},X=class{constructor(s,t){this.client=s,this.components=t}subscribe(s,t,i){let r={data:{}},n=[];for(let{key:o,obs:c}of this.components){let a=c.subscribe(u=>{if(o===""){Object.assign(r.data,u),s(r);return}r.data[o]=u,s(r)},t);n.push(a)}return new me(this.client,n)}},P=class{constructor(s,t,i){this.client=s,this.subId=typeof t=="string"?q(i,t):q(t),this.name=typeof t=="string"?t:null,this.payload=typeof t=="string"?i:t}subscribe(s,t,i){let[,r]=E(this.client,this.payload,s,n=>{n&&(console.error(n),t&&t(n))},t,this.subId,this.name);return new fe(this.client,r,this.subId)}};var he={},N={},lt=(e,s)=>{he[e]||(he[e]=!0,setTimeout(()=>{console.info("Drain file q"),he[e]=!1;let t=N[e];N[e]=[];let i=new global.FormData;for(let r of t){let{raw:n,name:o,id:c,file:a,functionName:u}=r,l=`${u||""}|${n?1:0}|${c}|${a.size}${o?`|${o}`:""}`;i.append(l,a)}try{let r=new global.XMLHttpRequest;r.upload.onprogress=n=>{let o=100*(n.loaded||n.position)/(n.totalSize||n.total);console.info(o,"upload...")},r.onerror=n=>{console.error("error!",n,"flap",r.responseText)},r.timeout=1e3*60*60*24,r.onabort=n=>{console.error("abort",n)},r.ontimeout=n=>{console.error("on timeout",n)},r.onload=()=>{let n={};try{n=JSON.parse(r.response),console.info("SUCCESS",n)}catch(o){console.error("something wrong with file upload",o)}},r.open("POST",e+"/file"),r.setRequestHeader("Content-Type","multipart/form-data"),r.setRequestHeader("Authorization",s),r.send(i)}catch(r){console.error("Something wrong with xhr upload",r)}},500))},Ke=async(e,s,t,i,r,n,o)=>{N[t]||(N[t]=[]),N[t].push({file:s,id:i,url:t,raw:r,name:n,functionName:o}),lt(t,e.getToken())};var We=H(require("@based/get-service")),Y={},Z={},pt=async(e,s)=>{if(s.url)return typeof s.url=="string"?s.url:await s.url();if(!e.opts.env&&e.opts.url)return typeof e.opts.url=="string"?e.opts.url:await e.opts.url();let{env:t,project:i,org:r}=e.opts,n=t+"/"+i+"/"+r+"/"+e.opts.cluster;if(Y[n])return Y[n];if(Z[n])return(await Z[n]).url;let o=await(Z[n]=(0,We.default)({env:t,project:i,org:r,name:"@based/hub",key:"file-upload",optionalKey:!0},0,e.opts.cluster));return delete Z[n],setTimeout(()=>{delete Y[n]},2e3),Y[n]=o.url},Ve=pt;var Xe=H(require("cross-fetch")),ee=(e,s,t)=>((0,Xe.default)(s,{method:"POST",cache:"no-cache",headers:{"Content-Type":t.mimeType||"text/plain","File-Id":t.id,"File-Is-Raw":t.raw?"1":"0","File-Name":t.name||"","Function-Name":t.functionName||"",Authorization:e.getToken()},body:t.contents}).then(i=>{}).catch(i=>{console.error("Error while uploading file",i)}),{id:t.id});var I=require("./file/stream"),te=typeof window!="undefined",dt=e=>"src"in e&&typeof e.src=="string",bt=e=>"path"in e&&typeof e.path=="string",ft=e=>"contents"in e&&(0,I.isStream)(e.contents),Ye=async(e,s)=>{if(dt(s)){let r=s.id?{$id:s.id}:{type:"file"};return s.src?(r.src=s.src,r.origin=s.src,s.size&&(r.size=s.size),s.name&&(r.name=s.name),s.parents&&(r.parents=s.parents),await e.set(r)):void 0}let t=s.id;if(!t){let r={type:"file",progress:0};s.name?r.name=s.name:global.File&&"contents"in s&&s.contents instanceof global.File&&(r.name=s.contents.name),s.parents&&(r.parents=s.parents),t=(await e.set(r)).id}s.id=t;let i=(await Ve(e,s)).replace(/^ws/,"http");if(bt(s))return(0,I.uploadFilePath)(e,i,s),{id:t};if(ft(s))return(0,I.uploadFileStream)(e,i,s),{id:t};if(s.contents instanceof ArrayBuffer)return s.contents=te?new global.Blob([s.contents],{type:s.mimeType||"text/plain"}):global.Buffer.from(s.contents),ee(e,i+"/file",s);if(te&&s.contents instanceof global.Blob)return s.mimeType||(s.mimeType=s.contents.type),ee(e,i+"/file",s);if(typeof s.contents=="string"||!te&&s.contents instanceof global.Buffer)return ee(e,i+"/file",s);if(te&&s.contents instanceof File)return Ke(e,s.contents,i,s.id,s.raw||!1,s.name,s.functionName),{id:t};throw s.id||await e.delete({$id:t}),new Error(`Invalid contents for file api ${JSON.stringify(s,null,2)}`)};var re=H(require("@based/get-service")),ye=require("@saulx/utils"),S=require("@based/graphql");d(m,require("@based/types"),module.exports);var se=class extends we{constructor(t){super();this.client=new D(this),Object.defineProperty(this,"client",{enumerable:!1,writable:!0}),t&&t.url&&this.connect(t.url),this.graphql={query:this.gqlQuery.bind(this),live:this.gqlLive.bind(this)}}connect(t){!t&&this._url?this.client.connection||(this.client.connection=oe(this.client,this._url)):(this._url=t,this.client.connection=oe(this.client,t))}disconnect(){this.client.connection&&(this.client.connection.disconnected=!0,this.client.connection.destroy(),this.client.connection.ws&&this.client.connection.ws.close(),this.client.connected&&this.client.onClose(),delete this.client.connection),this.client.connected=!1}observeUntil(t,i,r){return new Promise((n,o)=>{let c,a=!1;this.observe(t,(u,l)=>{r&&r(u,l),i(u,l)&&(a=!0,c&&c(),n(u))}).then(u=>{a?c():c=u}).catch(u=>{o(u)})})}gql(t,...i){typeof t=="string"&&(t=[t]);let r=t[0];return i.forEach((n,o)=>{n&&n.kind==="Document"?r+=n.loc.source.body:r+=n,r+=t[o+1]}),(0,S.createOperations)({schemas:this.client.configuration.schema},(0,S.parseGraphql)(r))}gqlDb(t="default"){return(i,...r)=>{typeof i=="string"&&(i=[i]);let n=i[0];return r.forEach((o,c)=>{o&&o.kind==="Document"?n+=o.loc.source.body:n+=o,n+=i[c+1]}),(0,S.createOperations)({schemas:this.client.configuration.schema,db:t},(0,S.parseGraphql)(n))}}observe(t,i,r,n){return typeof t=="string"?new Promise((o,c)=>{let a=typeof i=="function",u=a?i:r,l=a?r:n;E(this.client,a?void 0:i,u,(p,b,h,T,R)=>{p&&!R?c(p):o(()=>{y(this.client,b,h)})},l,void 0,t)}):new Promise((o,c)=>{E(this.client,t,i,(a,u,l,p,b)=>{a&&!b?c(a):o(()=>{y(this.client,u,l)})},r)})}createObservable(t,i){return typeof t=="string"?new P(this.client,t,i):new P(this.client,t)}observeSchema(t,i,r){return new Promise((n,o)=>{let c=typeof t=="string"?t:"default",a=typeof t=="string"?i:t,u=typeof t=="string"?r:i;E(this.client,{$subscribe_schema:c},(l,p)=>{this.client.configuration||(this.client.configuration={dbs:[],schema:{},functions:{}}),this.client.configuration.schema[c]=l,a(l,p)},(l,p,b,h,T)=>{l&&!T?o(l):n(()=>{y(this.client,p,b)})},u)})}get(t,i){return typeof t=="string"?new Promise((r,n)=>{z(this.client,i,(o,c,a,u)=>{o?n(o):r(u)},0,t)}):new Promise((r,n)=>{k(this.client,v.RequestTypes.Get,t,r,n)})}file(t){return global.File&&t instanceof File&&(t={contents:t}),Ye(this,t)}call(t,i){return new Promise((r,n)=>{k(this.client,v.RequestTypes.Call,i,r,n,t)})}async id(t,i){let r=de(this.client,t);if(r||(await this.schema(),r=de(this.client,t)),!r)throw C({message:`Type does not exist ${t}`,type:"Invalid type",payload:i?{type:t,opts:i}:{type:t}});if(i){let n=(0,ge.hashCompact)(i,8,!0);return r+n}else return r+(0,ge.hashCompact)(Math.floor(Math.random()*99999999999)+""+Date.now())}digest(t){return new Promise((i,r)=>{k(this.client,v.RequestTypes.Digest,t,i,r)})}set(t){return new Promise((i,r)=>{k(this.client,v.RequestTypes.Set,t,i,r)})}copy(t){return new Promise((i,r)=>{k(this.client,v.RequestTypes.Copy,t,i,r)})}async gqlQuery(t,i={}){let r;typeof t=="string"?r=this.gql(t):r=t;try{if(r=(0,S.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o={$db:r.db},c=[];for(let u in r.ops){if(r.ops[u].fnObserve){let l=await this.get(r.ops[u].fnObserve.name,r.ops[u].fnObserve.payload);c.push({key:u,reply:l});continue}r.ops[u].get&&(o[u]=r.ops[u].get)}let a=await this.get(o);for(let{key:u,reply:l}of c)a[u]=l;return{data:a}}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{var p,b,h,T,R;if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set);if(!c.get){let A={};A.id=a;let ve=(R=(T=(h=(b=(p=this.client)==null?void 0:p.configuration)==null?void 0:b.schema)==null?void 0:h[r.db])==null?void 0:T.prefixToTypeMapping)==null?void 0:R[a.slice(0,2)];ve&&(A.type=ve),n[o]=A;return}let u=(0,ye.deepCopy)(c.get);u.$id=a;let l=await this.get(u);n[o]=l})),{data:n}}catch(n){return{errors:[{message:n.message,locations:n.locations}]}}}async gqlLive(t,i={}){let r;if(typeof t=="string"?r=this.gql(t):r=t,r=(0,S.handleGraphqlVariables)(r,r,i),r.opType==="GET"){let o=[],c={};for(let a in r.ops){if(r.ops[a].fnObserve){let{name:u,payload:l}=r.ops[a].fnObserve;o.push({key:a,fn:{name:u,payload:l}});continue}c[a]=r.ops[a].get}if(o!=null&&o.length){let a=o.map(l=>({obs:new P(this.client,l.fn.name,l.fn.payload),key:l.key})),u=new P(this.client,Oe({$db:r.db},c));return a.push({key:"",obs:u}),new X(this.client,a)}return new P(this.client,{$db:r.db,data:c})}let n={};return await Promise.all(Object.entries(r.ops).map(async([o,c])=>{if(c.delete){n[o]=await this.delete(c.delete);return}else if(c.fnCall){n[o]=await this.call(c.fnCall.name,c.fnCall.payload);return}let{id:a}=await this.set(c.set),u=(0,ye.deepCopy)(c.get);u.$id=a,n[o]=u})),new P(this.client,{$db:r.db,data:n})}analytics(t,i){return new Promise((r,n)=>{i?E(this.client,t,i,(o,c,a,u,l)=>{o&&!l?n(o):r(()=>{y(this.client,c,a)})},o=>console.error(o),void 0,"analytics"):z(this.client,t,(o,c,a,u)=>{o?n(o):((0,v.isAnalyticsHistoryOpts)(t)||(0,v.isAnalyticsTypesOpts)(t),r(u))},0,"analytics")})}track(t,i){M(this.client,t,i)}clearAnalytics(t,i){M(this.client,t,i,!1,!1,void 0,!0)}untrack(t,i){M(this.client,t,i,!0)}event(t,i,r){M(this.client,t,i,!1,!0,r)}delete(t){return new Promise((i,r)=>{k(this.client,v.RequestTypes.Delete,t,i,r)})}schema(){return new Promise((t,i)=>{let r=n=>{this.client.configuration=n,t(n)};k(this.client,v.RequestTypes.GetConfiguration,0,r,i)})}removeType(t,i="default"){return new Promise((r,n)=>{k(this.client,v.RequestTypes.RemoveType,{type:t,db:i},r,n)})}removeField(t,i,r="default"){return new Promise((n,o)=>{!i||i.length===0?o(new Error("Path cannot be empty")):(Array.isArray(i)||(i=[i]),k(this.client,v.RequestTypes.RemoveField,{type:t,db:r,path:i},n,o))})}updateSchema(t){return new Promise((i,r)=>{k(this.client,v.RequestTypes.Configuration,t,i,r)})}getToken(){return this.client.token}auth(t,i){return new Promise(r=>{this.client.auth.push(r),(t&&t!==this.client.token||t===!1&&this.client.token)&&(typeof t=="string"?w(this.client,t,i):w(this.client),this.emit("auth",t))})}async login(t){return Me(this.client,t)}logout(){return He(this.client)}},mt=(e,s)=>{if(s){let t;e+=/\?/.test(e)?"&":"?";for(let i in s){let r=s[i];e+=t?`&${i}=${r}`:`${i}=${r}`,t=!0}}return e},ht=(e,s=se)=>{let{env:t,project:i,org:r,url:n,key:o,name:c="@based/hub",cluster:a,params:u}=e;if(n||(a=e.cluster=(0,re.getClusterUrl)(a),n=async()=>{let{url:l}=await(0,re.default)({env:t,project:i,org:r,key:o,name:c},0,a);return mt(l,u)}),n){let l=new s;return l.opts=e,l.connect(n),l}},gt=ht;0&&(module.exports={Based,BasedClient,BasedGraphQL,Observable,addGetSubscriber,addRequest,addSubscriber,createGraphqlOperations,generateSubscriptionId,generateTrackingKey,handleGraphqlVariables,parseGraphql,removeSubscriber});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/queue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BasedClient, TrackMessage } from '.';
|
|
2
|
-
import { Message } from '@based/types';
|
|
3
|
-
export declare const addToQueue: (client: BasedClient, msg: Message | TrackMessage) => void;
|
|
2
|
+
import { AuthMessage, Message } from '@based/types';
|
|
3
|
+
export declare const addToQueue: (client: BasedClient, msg: Message | TrackMessage | AuthMessage) => void;
|
|
4
4
|
export declare const drainQueue: (client: BasedClient) => void;
|
|
5
5
|
export declare const stopDrainQueue: (client: BasedClient) => void;
|
package/dist/queue.js
CHANGED
|
@@ -24,7 +24,8 @@ exports.addToQueue = addToQueue;
|
|
|
24
24
|
const drainQueue = (client) => {
|
|
25
25
|
if (client.connected &&
|
|
26
26
|
!client.drainInProgress &&
|
|
27
|
-
(client.queue.length || client.subscriptionQueue.length)
|
|
27
|
+
(client.queue.length || client.subscriptionQueue.length) &&
|
|
28
|
+
!client.isLogginIn) {
|
|
28
29
|
client.drainInProgress = true;
|
|
29
30
|
client.drainTimeout = setTimeout(() => {
|
|
30
31
|
client.drainInProgress = false;
|
package/dist/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":";;;;;;AACA,wCAAiE;AACjE,gEAAuC;AAEhC,MAAM,UAAU,GAAG,CACxB,MAAmB,EACnB,GAAyC,EACzC,EAAE;IACF,IACE,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,WAAW;QACnC,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,YAAY;QACpC,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,oBAAoB;QAC5C,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,eAAe,EACvC;QACA,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACnC;SAAM;QACL,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACvB;IACD,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;QAC/C,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAA;KACnB;AACH,CAAC,CAAA;AAjBY,QAAA,UAAU,cAiBtB;AAEM,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAE;IAChD,IACE,MAAM,CAAC,SAAS;QAChB,CAAC,MAAM,CAAC,eAAe;QACvB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACxD,CAAC,MAAM,CAAC,UAAU,EAClB;QACA,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;QAC7B,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE;gBAC1D,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBAC5D,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;gBACjB,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAA;gBAC7B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChD,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAA;aACpB;QACH,CAAC,EAAE,CAAC,CAAC,CAAA;KACN;AACH,CAAC,CAAA;AAnBY,QAAA,UAAU,cAmBtB;AAEM,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAE,EAAE;IACpD,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;KAC/B;AACH,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B"}
|
package/dist/request.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BasedClient } from '.';
|
|
2
2
|
import { RequestData, RequestTypes } from '@based/types';
|
|
3
|
-
export declare const addRequest: (client: BasedClient, type: RequestTypes
|
|
3
|
+
export declare const addRequest: (client: BasedClient, type: Exclude<RequestTypes, RequestTypes.Subscription | RequestTypes.SubscriptionDiff | RequestTypes.SendSubscriptionData | RequestTypes.Unsubscribe | RequestTypes.GetSubscription | RequestTypes.Token | RequestTypes.Track>, payload: any, resolve: (val?: any) => void, reject: (err: Error) => void, name?: string, isRetry?: boolean) => void;
|
|
4
4
|
export declare const abortRequest: () => void;
|
|
5
5
|
export declare const cleanUpRequests: () => void;
|
|
6
6
|
export declare const incomingRequest: (client: BasedClient, data: RequestData) => void;
|
package/dist/request.js
CHANGED
|
@@ -8,11 +8,31 @@ const queue_1 = require("./queue");
|
|
|
8
8
|
const types_1 = require("@based/types");
|
|
9
9
|
const createError_1 = __importDefault(require("./createError"));
|
|
10
10
|
let requestIdCnt = 0;
|
|
11
|
-
const addRequest = (client, type,
|
|
11
|
+
const addRequest = (client, type,
|
|
12
|
+
// TODO: Changed to Exclude so don't have to update
|
|
13
|
+
// these lists every time.
|
|
14
|
+
// Check why the above should not be here. Maybe create it's own type
|
|
15
|
+
// old:
|
|
16
|
+
// | RequestTypes.Set
|
|
17
|
+
// | RequestTypes.Get
|
|
18
|
+
// | RequestTypes.Configuration
|
|
19
|
+
// | RequestTypes.GetConfiguration
|
|
20
|
+
// | RequestTypes.Delete
|
|
21
|
+
// | RequestTypes.Copy
|
|
22
|
+
// | RequestTypes.Digest
|
|
23
|
+
// | RequestTypes.Call
|
|
24
|
+
// | RequestTypes.RemoveType
|
|
25
|
+
// | RequestTypes.RemoveField
|
|
26
|
+
// | RequestTypes.Auth,
|
|
27
|
+
payload, resolve, reject, name, isRetry) => {
|
|
12
28
|
const id = ++requestIdCnt;
|
|
13
29
|
client.requestCallbacks[id] = {
|
|
14
30
|
resolve,
|
|
15
31
|
reject,
|
|
32
|
+
type,
|
|
33
|
+
payload,
|
|
34
|
+
name,
|
|
35
|
+
isRetry,
|
|
16
36
|
};
|
|
17
37
|
if (type === types_1.RequestTypes.Call) {
|
|
18
38
|
(0, queue_1.addToQueue)(client, [type, name, id, payload]);
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;AACA,mCAAoC;AACpC,wCAAwD;AACxD,gEAAuC;AAEvC,IAAI,YAAY,GAAG,CAAC,CAAA;AAEb,MAAM,UAAU,GAAG,CACxB,MAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;AACA,mCAAoC;AACpC,wCAAwD;AACxD,gEAAuC;AAEvC,IAAI,YAAY,GAAG,CAAC,CAAA;AAEb,MAAM,UAAU,GAAG,CACxB,MAAmB,EACnB,IASC;AACD,mDAAmD;AACnD,0BAA0B;AAC1B,qEAAqE;AACrE,OAAO;AACP,qBAAqB;AACrB,qBAAqB;AACrB,+BAA+B;AAC/B,kCAAkC;AAClC,wBAAwB;AACxB,sBAAsB;AACtB,wBAAwB;AACxB,sBAAsB;AACtB,4BAA4B;AAC5B,6BAA6B;AAC7B,uBAAuB;AACvB,OAAY,EACZ,OAA4B,EAC5B,MAA4B,EAC5B,IAAa,EACb,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,YAAY,CAAA;IACzB,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG;QAC5B,OAAO;QACP,MAAM;QACN,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,OAAO;KACR,CAAA;IAED,IAAI,IAAI,KAAK,oBAAY,CAAC,IAAI,EAAE;QAC9B,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;KAC9C;SAAM;QACL,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;KACxC;AACH,CAAC,CAAA;AAhDY,QAAA,UAAU,cAgDtB;AAEM,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,0CAA0C;AAC5C,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,uEAAuE;AACzE,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,MAAM,eAAe,GAAG,CAAC,MAAmB,EAAE,IAAiB,EAAE,EAAE;IACxE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAEpC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,EAAE,EAAE;QACN,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,GAAG,EAAE;YACP,EAAE,CAAC,MAAM,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,CAAA;SAC5B;aAAM;YACL,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;SACpB;KACF;AACH,CAAC,CAAA;AAZY,QAAA,eAAe,mBAY3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sendAllSubscriptions = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("@based/types");
|
|
5
5
|
const queue_1 = require("../queue");
|
|
6
6
|
const sendAllSubscriptions = (client, reAuth = false) => {
|
|
7
7
|
for (const key in client.subscriptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendAllSubscriptions.js","sourceRoot":"","sources":["../../src/subscriptions/sendAllSubscriptions.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"sendAllSubscriptions.js","sourceRoot":"","sources":["../../src/subscriptions/sendAllSubscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ export declare enum RequestTypes {
|
|
|
20
20
|
Copy = 12,
|
|
21
21
|
Digest = 13,
|
|
22
22
|
Token = 14,
|
|
23
|
-
Track = 15
|
|
23
|
+
Track = 15,
|
|
24
|
+
Auth = 16
|
|
25
|
+
}
|
|
26
|
+
export declare enum AuthRequestTypes {
|
|
27
|
+
Login = 1,
|
|
28
|
+
Logout = 2,
|
|
29
|
+
RenewToken = 3
|
|
24
30
|
}
|
|
25
31
|
export declare type Configuration = {
|
|
26
32
|
schema: {
|
|
@@ -56,6 +62,12 @@ export declare type RequestMessage<T = GenericObject> = [
|
|
|
56
62
|
T
|
|
57
63
|
];
|
|
58
64
|
export declare type TokenMessage = [RequestTypes.Token, string?, boolean?];
|
|
65
|
+
export declare type AuthMessage = [
|
|
66
|
+
RequestTypes.Auth,
|
|
67
|
+
AuthRequestTypes,
|
|
68
|
+
number,
|
|
69
|
+
GenericObject?
|
|
70
|
+
];
|
|
59
71
|
export declare type SubscribeMessage = [
|
|
60
72
|
RequestTypes.Subscription,
|
|
61
73
|
number,
|
|
@@ -81,7 +93,7 @@ export declare type UnsubscribeMessage = [
|
|
|
81
93
|
number
|
|
82
94
|
];
|
|
83
95
|
export declare type SubscriptionMessage = SubscribeMessage | SendSubscriptionDataMessage | UnsubscribeMessage | SendSubscriptionGetDataMessage;
|
|
84
|
-
export declare type Message = RequestMessage | SubscriptionMessage | FunctionCallMessage;
|
|
96
|
+
export declare type Message = RequestMessage | SubscriptionMessage | FunctionCallMessage | AuthMessage;
|
|
85
97
|
export declare type SubscriptionDiffData = [
|
|
86
98
|
RequestTypes.SubscriptionDiff,
|
|
87
99
|
number,
|
|
@@ -105,7 +117,13 @@ export declare type RequestData = [
|
|
|
105
117
|
ErrorObject?
|
|
106
118
|
];
|
|
107
119
|
export declare type AuthorizedData = [RequestTypes.Token, number[], boolean?];
|
|
108
|
-
export declare type
|
|
120
|
+
export declare type AuthData = [
|
|
121
|
+
RequestTypes.Auth,
|
|
122
|
+
number,
|
|
123
|
+
GenericObject,
|
|
124
|
+
ErrorObject?
|
|
125
|
+
];
|
|
126
|
+
export declare type ResponseData = SubscriptionDiffData | SubscriptionData | RequestData | AuthorizedData | AuthData;
|
|
109
127
|
export declare type TrackPayload = {
|
|
110
128
|
t: string;
|
|
111
129
|
u?: 1;
|
|
@@ -120,6 +138,7 @@ export declare type TrackOpts = {
|
|
|
120
138
|
export declare type SendTokenOptions = {
|
|
121
139
|
isBasedUser?: boolean;
|
|
122
140
|
isApiKey?: boolean;
|
|
141
|
+
refreshToken?: string;
|
|
123
142
|
};
|
|
124
143
|
export declare type AnalyticsResult = {
|
|
125
144
|
all: {
|
|
@@ -184,6 +203,13 @@ export declare type AnalyticsHistoryOpts = {
|
|
|
184
203
|
$geo?: string[] | boolean;
|
|
185
204
|
$history: boolean | number;
|
|
186
205
|
};
|
|
206
|
+
export declare type LoginOpts = {
|
|
207
|
+
email: string;
|
|
208
|
+
password: string;
|
|
209
|
+
};
|
|
210
|
+
export declare type RenewTokenOpts = {
|
|
211
|
+
refreshToken: string;
|
|
212
|
+
};
|
|
187
213
|
export declare type FileUploadOptions = {
|
|
188
214
|
contents: Buffer | ArrayBuffer | string | File | Blob;
|
|
189
215
|
mimeType?: string;
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAnalyticsHistoryOpts = exports.isAnalyticsTypesOpts = exports.RequestTypes = void 0;
|
|
3
|
+
exports.isAnalyticsHistoryOpts = exports.isAnalyticsTypesOpts = exports.AuthRequestTypes = exports.RequestTypes = void 0;
|
|
4
4
|
// eslint-disable-next-line
|
|
5
5
|
var RequestTypes;
|
|
6
6
|
(function (RequestTypes) {
|
|
@@ -34,7 +34,18 @@ var RequestTypes;
|
|
|
34
34
|
RequestTypes[RequestTypes["Token"] = 14] = "Token";
|
|
35
35
|
// eslint-disable-next-line
|
|
36
36
|
RequestTypes[RequestTypes["Track"] = 15] = "Track";
|
|
37
|
+
// eslint-disable-next-line
|
|
38
|
+
RequestTypes[RequestTypes["Auth"] = 16] = "Auth";
|
|
37
39
|
})(RequestTypes = exports.RequestTypes || (exports.RequestTypes = {}));
|
|
40
|
+
var AuthRequestTypes;
|
|
41
|
+
(function (AuthRequestTypes) {
|
|
42
|
+
// eslint-disable-next-line
|
|
43
|
+
AuthRequestTypes[AuthRequestTypes["Login"] = 1] = "Login";
|
|
44
|
+
// eslint-disable-next-line
|
|
45
|
+
AuthRequestTypes[AuthRequestTypes["Logout"] = 2] = "Logout";
|
|
46
|
+
// eslint-disable-next-line
|
|
47
|
+
AuthRequestTypes[AuthRequestTypes["RenewToken"] = 3] = "RenewToken";
|
|
48
|
+
})(AuthRequestTypes = exports.AuthRequestTypes || (exports.AuthRequestTypes = {}));
|
|
38
49
|
function isAnalyticsTypesOpts(opts) {
|
|
39
50
|
return opts.$types === true;
|
|
40
51
|
}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AASA,2BAA2B;AAC3B,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AASA,2BAA2B;AAC3B,IAAY,YAiCX;AAjCD,WAAY,YAAY;IACtB,2BAA2B;IAC3B,+DAAgB,CAAA;IAChB,2BAA2B;IAC3B,uEAAoB,CAAA;IACpB,2BAA2B;IAC3B,+EAAwB,CAAA;IACxB,2BAA2B;IAC3B,6DAAe,CAAA;IACf,2BAA2B;IAC3B,6CAAO,CAAA;IACP,2BAA2B;IAC3B,6CAAO,CAAA;IACP,2BAA2B;IAC3B,iEAAiB,CAAA;IACjB,2BAA2B;IAC3B,uEAAoB,CAAA;IACpB,2BAA2B;IAC3B,+CAAQ,CAAA;IACR,2BAA2B;IAC3B,sEAAoB,CAAA;IACpB,2BAA2B;IAC3B,oDAAW,CAAA;IACX,2BAA2B;IAC3B,gDAAS,CAAA;IACT,2BAA2B;IAC3B,oDAAW,CAAA;IACX,2BAA2B;IAC3B,kDAAU,CAAA;IACV,2BAA2B;IAC3B,kDAAU,CAAA;IACV,2BAA2B;IAC3B,gDAAS,CAAA;AACX,CAAC,EAjCW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAiCvB;AAED,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,2BAA2B;IAC3B,yDAAS,CAAA;IACT,2BAA2B;IAC3B,2DAAU,CAAA;IACV,2BAA2B;IAC3B,mEAAc,CAAA;AAChB,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AA2OD,SAAgB,oBAAoB,CAClC,IAAwC;IAExC,OAAQ,IAA2B,CAAC,MAAM,KAAK,IAAI,CAAA;AACrD,CAAC;AAJD,oDAIC;AAED,SAAgB,sBAAsB,CACpC,IAAwC;IAExC,MAAM,UAAU,GAAI,IAA6B,CAAC,QAAQ,CAAA;IAC1D,OAAO,CAAC,CAAC,UAAU,CAAA;AACrB,CAAC;AALD,wDAKC"}
|
package/dist/websocket/index.js
CHANGED
|
@@ -8,7 +8,7 @@ const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
|
|
|
8
8
|
const activityListeners = new Map();
|
|
9
9
|
let activeTimer;
|
|
10
10
|
if (typeof window !== 'undefined') {
|
|
11
|
-
document.addEventListener('visibilitychange', function (
|
|
11
|
+
document.addEventListener('visibilitychange', function () {
|
|
12
12
|
clearTimeout(activeTimer);
|
|
13
13
|
if (document.hidden) {
|
|
14
14
|
activeTimer = setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AAGnC,kEAAqC;AAIrC,MAAM,iBAAiB,GAA8B,IAAI,GAAG,EAAE,CAAA;AAE9D,IAAI,WAA2B,CAAA;AAE/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# `Authorize` data function
|
|
2
|
+
|
|
3
|
+
The authorize data function is a special function that serves as an authorization gatekeeper for the based queries and calls to data functions. It is run every time one is requested and blocks or allows access to the data.
|
|
4
|
+
It works and has the same signature as normal data functions and should return a Promise with `true` or `false` boolean.
|
|
5
|
+
You can have your access logic here. For example, checking if the user is authenticated or if it matches whatever criteria you need for your application.
|
|
6
|
+
|
|
7
|
+
example:
|
|
8
|
+
```javascript
|
|
9
|
+
export default async ({ based, user, payload, name, type, callstack}) => {
|
|
10
|
+
// ...
|
|
11
|
+
return true // or false
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Exposed parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Description |
|
|
18
|
+
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
19
|
+
| `based` | Based client |
|
|
20
|
+
| `user` | User object. Exposes token information about the user |
|
|
21
|
+
| `payload` | The query requested or the payload sent to the function |
|
|
22
|
+
| `name` | Name of the function. Empty in case of a query |
|
|
23
|
+
| `type` | Type of call. `function` or `query` usually |
|
|
24
|
+
| `callstack` | Array with the names of the data function call stack. If one function calls another, the first function name will show in the callstack of the second function and so on. |
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## `user.token()`
|
|
28
|
+
|
|
29
|
+
The `user` parameter exposes functionality to identify the user. If a user is authenticated, the based client will send an authorization token in the message. You can validate the token and decode it using the `user.token()`
|
|
30
|
+
Will return `undefined` in case of an invalid token.
|
|
31
|
+
|
|
32
|
+
Example:
|
|
33
|
+
```javascript
|
|
34
|
+
export default async ({ based, user, payload, name, type, callstack}) => {
|
|
35
|
+
// Leve this for now. Identifies a user as an UI user.
|
|
36
|
+
if (user.isBased) return true
|
|
37
|
+
|
|
38
|
+
const token = user.token('publicKeySecret')
|
|
39
|
+
if (token.id) {
|
|
40
|
+
return true
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return false
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## How to setup?
|
|
48
|
+
The `authorize` function can be created directly on the Functions section of the Based UI or deployed using the CLI with the [`based deploy`](https://github.com/atelier-saulx/based/blob/main/packages/cli/README.md#deploy) command.
|
|
49
|
+
It should be set as a non-observable function with the following config:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"name": "authorize",
|
|
54
|
+
"observable": false
|
|
55
|
+
}
|
|
56
|
+
```
|