@based/react 2.4.0 → 2.5.2
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/dist/clients.d.ts +0 -0
- package/dist/clients.js +0 -0
- package/dist/clients.js.map +0 -0
- package/dist/genOptsId.d.ts +0 -0
- package/dist/genOptsId.js +0 -0
- package/dist/genOptsId.js.map +0 -0
- package/dist/gql.d.ts +0 -0
- package/dist/gql.js +0 -0
- package/dist/gql.js.map +0 -0
- package/dist/index.d.ts +20 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/meta.d.ts +0 -0
- package/dist/meta.js +0 -0
- package/dist/meta.js.map +0 -0
- package/dist/reducer.d.ts +0 -0
- package/dist/reducer.js +0 -0
- package/dist/reducer.js.map +0 -0
- package/dist/types.d.ts +0 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/package.json +2 -3
- package/src/index.ts +74 -1
package/dist/clients.d.ts
CHANGED
|
File without changes
|
package/dist/clients.js
CHANGED
|
File without changes
|
package/dist/clients.js.map
CHANGED
|
File without changes
|
package/dist/genOptsId.d.ts
CHANGED
|
File without changes
|
package/dist/genOptsId.js
CHANGED
|
File without changes
|
package/dist/genOptsId.js.map
CHANGED
|
File without changes
|
package/dist/gql.d.ts
CHANGED
|
File without changes
|
package/dist/gql.js
CHANGED
|
File without changes
|
package/dist/gql.js.map
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Query, BasedOpts } from '@based/client';
|
|
1
|
+
import { Query, BasedOpts, AnalyticsHistoryOpts, AnalyticsOpts, AnalyticsTypesOpts } from '@based/client';
|
|
2
2
|
import { Loading, Data } from './types';
|
|
3
3
|
export * from './meta';
|
|
4
4
|
export * from './clients';
|
|
@@ -32,6 +32,18 @@ export declare function useData(name: string): {
|
|
|
32
32
|
loading: Loading;
|
|
33
33
|
checksum: number;
|
|
34
34
|
};
|
|
35
|
+
export declare function useData(query: null): {
|
|
36
|
+
data: Data;
|
|
37
|
+
error?: Error;
|
|
38
|
+
loading: Loading;
|
|
39
|
+
checksum: number;
|
|
40
|
+
};
|
|
41
|
+
export declare function useData(): {
|
|
42
|
+
data: Data;
|
|
43
|
+
error?: Error;
|
|
44
|
+
loading: Loading;
|
|
45
|
+
checksum: number;
|
|
46
|
+
};
|
|
35
47
|
export declare function useData(name: string, payload: any, clientSelector?: string | (BasedOpts & {
|
|
36
48
|
key?: string;
|
|
37
49
|
})): {
|
|
@@ -40,3 +52,10 @@ export declare function useData(name: string, payload: any, clientSelector?: str
|
|
|
40
52
|
loading: Loading;
|
|
41
53
|
checksum: number;
|
|
42
54
|
};
|
|
55
|
+
export declare function useAnalytics(params?: AnalyticsHistoryOpts | AnalyticsTypesOpts | AnalyticsOpts, clientSelector?: string | (BasedOpts & {
|
|
56
|
+
key?: string;
|
|
57
|
+
})): {
|
|
58
|
+
data: Data;
|
|
59
|
+
error?: Error;
|
|
60
|
+
loading: Loading;
|
|
61
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var te=Object.create;var S=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames,
|
|
1
|
+
var te=Object.create;var S=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames,z=Object.getOwnPropertySymbols,se=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var K=(e,r,t)=>r in e?S(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,W=(e,r)=>{for(var t in r||(r={}))V.call(r,t)&&K(e,t,r[t]);if(z)for(var t of z(r))ie.call(r,t)&&K(e,t,r[t]);return e};var ae=(e,r)=>{for(var t in r)S(e,t,{get:r[t],enumerable:!0})},J=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of oe(r))!V.call(e,n)&&n!==t&&S(e,n,{get:()=>r[n],enumerable:!(s=ne(r,n))||s.enumerable});return e};var X=(e,r,t)=>(t=e!=null?te(se(e)):{},J(r||!e||!e.__esModule?S(t,"default",{value:e,enumerable:!0}):t,e)),ue=e=>J(S({},"__esModule",{value:!0}),e);var ke={};ae(ke,{BasedContext:()=>w,Provider:()=>le,defaultCreateClient:()=>Y,updateMeta:()=>m,useAnalytics:()=>he,useAuth:()=>pe,useBasedContext:()=>Z,useClient:()=>C,useClients:()=>de,useData:()=>re,useError:()=>ge,useLoading:()=>fe,useQuery:()=>me,useSchema:()=>ye,useTrack:()=>be});module.exports=ue(ke);var d=require("react"),O=require("@based/client");function I(e,r){return r.error&&(e.error=r.error),r.data&&(e.checksum=r.checksum||0,e.data=r.data,e.loading=!1,e.error&&delete e.error),r.merge&&(e.checksum=r.checksum||0,e.data?Object.assign(e.data,r.merge):e.data=r.merge,e.loading=!1,e.error&&delete e.error),r.loading&&(e.loading=r.loading),W({},e)}var L=e=>{if(!!e)return e.key?e.key:`${e.env}_${e.project}_${e.org}_${e.cluster||""}_${e.name||""}`};var k=X(require("react")),$=X(require("@based/client"));var _=new Set,w=(0,k.createContext)({clients:{},removeClient:(...e)=>{}}),Y=e=>{if(typeof e=="object")return process.env.CLUSTER&&process.env.CLUSTER.startsWith("local")&&!e.cluster&&(e.cluster=process.env.CLUSTER),(0,$.default)(e);console.error("Cannot create client from "+e)},le=({client:e,children:r,clients:t,createClient:s})=>(!t&&e?t={default:e}:t&&e&&(t.default=e),k.default.createElement(w.Provider,{value:{clients:t,createClient:s||Y,removeClient:o=>{if(o instanceof $.Based){for(let b in t)if(t[b]===o){o=b;break}if(typeof o!="string"){console.error("Cannot find client to remove from ctx",o);return}}else typeof o!="string"&&(o=L(o));t[o]&&(t[o].disconnect(),delete t[o],_.forEach(b=>b()))}}},r)),Z=()=>(0,k.useContext)(w);function ce(e){return e+1}var de=()=>{let e=Z(),[,r]=(0,k.useReducer)(ce,0);return(0,k.useEffect)(()=>{let t,s=()=>{t=setTimeout(r,0)};return _.add(s),()=>{_.delete(s),clearTimeout(t)}},[]),Object.values(e.clients)},C=(e="default")=>{let r=(0,k.useContext)(w);if(typeof e=="object"&&!(e.env&&e.project&&e.org))return;let t;typeof e=="string"?t=e:t=e.key||L(e);let s=r.clients[t];return!s&&r.createClient&&(s=r.createClient(e),s&&(r.clients[t]=s,_.forEach(n=>n()))),s};var D=require("react"),v={},H=new Set,U=new Set,N=new Set,R=!1,F="",T=0,Q=T+F;function m(e,r,t){t?(F=t,e in v?v[e]=t:(v[e]=t,T++)):e in v&&(T--,delete v[e]);let s=T+F;s!==Q&&(Q=s,H.forEach(o=>o(Q))),r?U.add(e):U.delete(e);let n=!!U.size;n!==R&&(R=n,N.forEach(o=>o(R)))}function fe(){let[,e]=(0,D.useState)(R);return N.add(e),(0,D.useEffect)(()=>()=>{N.delete(e)},[]),{loading:R}}function ge(){let[,e]=(0,D.useState)(Q);return H.add(e),(0,D.useEffect)(()=>()=>{H.delete(e)},[]),{error:T?F:null,errors:Object.values(v)}}var i=require("react"),h=require("@based/client");var M=require("@saulx/hash"),ee=(0,h.generateSubscriptionId)({$subscribe_schema:"default"});function me(e,r={},t){let[s,n]=(0,i.useReducer)(I,{loading:!0,data:{},checksum:0}),o=(0,i.useRef)({checksum:0,fns:{}}),b=t||"default",a=C(b);if(e){let[f,B]=(0,i.useState)(0);if((0,i.useEffect)(()=>{let[,l]=(0,h.addSubscriber)(a.client,{$subscribe_schema:"default"},(g,c)=>{a.client.configuration||(a.client.configuration={dbs:[],schema:{},functions:{}}),a.client.configuration.schema.default=g,B(c)},g=>{g&&console.error(g)},g=>{console.error(g)},ee);return()=>{(0,h.removeSubscriber)(a.client,ee,l)}},[]),f){let l;typeof e=="string"?l=a.gql(e):l=e,l=(0,h.handleGraphqlVariables)(l,l,r);let g={},c={};for(let p in l.ops){if(l.ops[p].fnObserve){let{name:E,payload:u}=l.ops[p].fnObserve;g[p]={name:E,payload:u,key:p};continue}c[p]=l.ops[p].get}let G=(0,i.useMemo)(()=>(0,M.hashObjectIgnoreKeyOrder)(g),[g]),A=(0,i.useMemo)(()=>(0,h.generateSubscriptionId)(c),[c]),q=typeof b=="string"?b:L(b);if(a){let p=q+A;(0,i.useEffect)(()=>{let E=[];for(let u in g)E.push((0,h.addSubscriber)(a.client,g[u].payload,(y,P)=>{m(p,!1,!1),o.current.fns[u]!==P&&(o.current.fns[u]=P,n({merge:{[u]:y},checksum:(0,M.hashObjectIgnoreKeyOrder)(o.current)}))},y=>{y&&(console.error(y),n({error:y,loading:!1}))},y=>{console.error(y),m(p,!1,y),n({error:y})},void 0,g[u].name));return()=>{for(let[u,y]of E)(0,h.removeSubscriber)(a.client,u,y)}},[G]),(0,i.useEffect)(()=>{if(!f)return;m(p,!0,!1);let[,E]=(0,h.addSubscriber)(a.client,c,(u,y)=>{m(p,!1,!1),o.current.checksum!==y&&(o.current.checksum=y,n({merge:u,checksum:(0,M.hashObjectIgnoreKeyOrder)(o.current)}))},u=>{u&&(console.error(u),m(p,!1,u),n({error:u,loading:!1}))},u=>{console.error(u),m(p,!1,u),n({error:u})},A);return()=>{m(p,!1,!1),(0,h.removeSubscriber)(a.client,A,E)}},[A,q,f])}else(0,i.useEffect)(x,[null,null])}else(0,i.useMemo)(x,[null]),(0,i.useMemo)(x,[null]),(0,i.useEffect)(x,[null]),(0,i.useEffect)(x,[null,null,null])}else(0,i.useState)(null),(0,i.useEffect)(x,[null]),(0,i.useMemo)(x,[null]),(0,i.useMemo)(x,[null]),(0,i.useEffect)(x,[null]),(0,i.useEffect)(x,[null,null,null]);return s}function x(){}function pe(e){let r=C(e),[t,s]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{let n=()=>s(r.getToken());return r.on("auth",n),()=>{r.removeListener("auth",n)}},[]),t}function ye(e="default",r){let t=re(e?{$subscribe_schema:e}:null,r);return{loading:t.loading,error:t.error,schema:t.data}}function be(e,r,t){if(e){let n=C(t||"default"),o=(0,d.useMemo)(()=>(0,O.generateSubscriptionId)(r,e),[e,r]);(0,d.useEffect)(()=>(n.track(e,r),()=>{n.untrack(e,r)}),[o])}else C(t),(0,d.useMemo)(()=>{},[]),(0,d.useEffect)(j,[null,null])}function re(e,r,t){let[s,n]=(0,d.useReducer)(I,{loading:!0,data:{},checksum:0});if(e){let o=(0,d.useMemo)(()=>(0,O.generateSubscriptionId)(typeof e=="string"?[e,r]:e),[r,e]),b=typeof e=="string",a=t||(b?"default":r),f=C(a),B=typeof a=="string"?a:L(a);if(f){let l=B+o;(0,d.useEffect)(()=>{m(l,!0,!1),n({error:null,loading:!0,data:{}});let[,g]=(0,O.addSubscriber)(f.client,b?r:e,(c,G)=>{m(l,!1,!1),n({data:c,checksum:G})},c=>{c&&(console.error(c),m(l,!1,c),n({error:c,loading:!1}))},c=>{console.error(c),m(l,!1,c),n({error:c})},o,typeof e=="string"?e:void 0);return()=>{m(l,!1,!1),(0,O.removeSubscriber)(f.client,o,g)}},[o,B])}else(0,d.useEffect)(j,[null,null])}else(0,d.useMemo)(j,[r,e]),C(t),(0,d.useEffect)(j,[null,null]);return s}function he(e,r){let[t,s]=(0,d.useReducer)(I,{loading:!0,data:{},checksum:0}),n,o,a=C(r||"default");return a&&e?(0,d.useEffect)(()=>(s({error:null,loading:!0,data:{}}),(0,O.addSubscriber)(a.client,e,(f,B)=>{s({data:f,checksum:B})},(f,B,l,g,c)=>{n=B,o=l,(f||c)&&(console.error(f),s({error:f,loading:!1}))},f=>{console.error(f),s({error:f})},void 0,"analytics"),()=>{(0,O.removeSubscriber)(a.client,n,o)}),[]):(0,d.useEffect)(j,[]),t}function j(){}0&&(module.exports={BasedContext,Provider,defaultCreateClient,updateMeta,useAnalytics,useAuth,useBasedContext,useClient,useClients,useData,useError,useLoading,useQuery,useSchema,useTrack});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAgE;AAEhE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/meta.d.ts
CHANGED
|
File without changes
|
package/dist/meta.js
CHANGED
|
File without changes
|
package/dist/meta.js.map
CHANGED
|
File without changes
|
package/dist/reducer.d.ts
CHANGED
|
File without changes
|
package/dist/reducer.js
CHANGED
|
File without changes
|
package/dist/reducer.js.map
CHANGED
|
File without changes
|
package/dist/types.d.ts
CHANGED
|
File without changes
|
package/dist/types.js
CHANGED
|
File without changes
|
package/dist/types.js.map
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@based/react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.tsx",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,11 +12,10 @@
|
|
|
12
12
|
},
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"react": "
|
|
15
|
+
"react": "17||18||16",
|
|
16
16
|
"@based/client": "^2.3.3"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@based/client": "2.3.5",
|
|
20
19
|
"@saulx/hash": "^1.1.0"
|
|
21
20
|
},
|
|
22
21
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -6,6 +6,9 @@ import {
|
|
|
6
6
|
removeSubscriber,
|
|
7
7
|
generateSubscriptionId,
|
|
8
8
|
BasedOpts,
|
|
9
|
+
AnalyticsHistoryOpts,
|
|
10
|
+
AnalyticsOpts,
|
|
11
|
+
AnalyticsTypesOpts,
|
|
9
12
|
} from '@based/client'
|
|
10
13
|
|
|
11
14
|
import { resultReducer } from './reducer'
|
|
@@ -102,6 +105,20 @@ export function useData(name: string): {
|
|
|
102
105
|
checksum: number
|
|
103
106
|
}
|
|
104
107
|
|
|
108
|
+
export function useData(query: null): {
|
|
109
|
+
data: Data
|
|
110
|
+
error?: Error
|
|
111
|
+
loading: Loading
|
|
112
|
+
checksum: number
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function useData(): {
|
|
116
|
+
data: Data
|
|
117
|
+
error?: Error
|
|
118
|
+
loading: Loading
|
|
119
|
+
checksum: number
|
|
120
|
+
}
|
|
121
|
+
|
|
105
122
|
export function useData(
|
|
106
123
|
name: string,
|
|
107
124
|
payload: any,
|
|
@@ -109,7 +126,7 @@ export function useData(
|
|
|
109
126
|
): { data: Data; error?: Error; loading: Loading; checksum: number }
|
|
110
127
|
|
|
111
128
|
export function useData(
|
|
112
|
-
a
|
|
129
|
+
a?: string | Query,
|
|
113
130
|
payload?: any,
|
|
114
131
|
clientSelector?: string | (BasedOpts & { key?: string })
|
|
115
132
|
): {
|
|
@@ -182,4 +199,60 @@ export function useData(
|
|
|
182
199
|
return result
|
|
183
200
|
}
|
|
184
201
|
|
|
202
|
+
export function useAnalytics(
|
|
203
|
+
params?: AnalyticsHistoryOpts | AnalyticsTypesOpts | AnalyticsOpts,
|
|
204
|
+
clientSelector?: string | (BasedOpts & { key?: string })
|
|
205
|
+
): { data: Data; error?: Error; loading: Loading } {
|
|
206
|
+
const [result, dispatch] = useReducer(resultReducer, {
|
|
207
|
+
loading: true,
|
|
208
|
+
data: {},
|
|
209
|
+
checksum: 0,
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
let subId, subscriberId
|
|
213
|
+
|
|
214
|
+
const selector = clientSelector || 'default'
|
|
215
|
+
const client = useClient(selector)
|
|
216
|
+
|
|
217
|
+
if (client && params) {
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
dispatch({ error: null, loading: true, data: {} })
|
|
220
|
+
addSubscriber(
|
|
221
|
+
client.client,
|
|
222
|
+
params,
|
|
223
|
+
// onData:
|
|
224
|
+
(d, checksum) => {
|
|
225
|
+
// updateMeta(subKey, false, false) ??
|
|
226
|
+
dispatch({ data: d, checksum })
|
|
227
|
+
},
|
|
228
|
+
// onInitial:
|
|
229
|
+
(err, subscriptionId, subscriberIdInner, _data, isAuthError) => {
|
|
230
|
+
subId = subscriptionId
|
|
231
|
+
subscriberId = subscriberIdInner
|
|
232
|
+
if (err || isAuthError) {
|
|
233
|
+
console.error(err)
|
|
234
|
+
// updateMeta(subKey, false, err)
|
|
235
|
+
dispatch({ error: err, loading: false })
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
// onError:
|
|
239
|
+
(err) => {
|
|
240
|
+
console.error(err)
|
|
241
|
+
// updateMeta(subKey, false, err)
|
|
242
|
+
dispatch({ error: err })
|
|
243
|
+
},
|
|
244
|
+
undefined,
|
|
245
|
+
'analytics'
|
|
246
|
+
)
|
|
247
|
+
return () => {
|
|
248
|
+
removeSubscriber(client.client, subId, subscriberId)
|
|
249
|
+
}
|
|
250
|
+
}, [])
|
|
251
|
+
} else {
|
|
252
|
+
useEffect(stubFn, [])
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return result
|
|
256
|
+
}
|
|
257
|
+
|
|
185
258
|
function stubFn() {}
|