@based/react 0.7.1 → 2.2.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/dist/index.js CHANGED
@@ -1,444 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.useQuery = exports.useError = exports.useLoading = exports.useData = exports.useTrack = exports.useSchema = exports.useAuth = exports.useClient = exports.useClients = exports.useBasedContext = exports.Provider = exports.defaultCreateClient = exports.BasedContext = void 0;
23
- const react_1 = __importStar(require("react"));
24
- const client_1 = __importStar(require("@based/client"));
25
- const schemaSubId = (0, client_1.generateSubscriptionId)({ $subscribe_schema: 'default' });
26
- const genOptsId = (opts) => {
27
- if (!opts) {
28
- return;
29
- }
30
- if (opts.key) {
31
- return opts.key;
32
- }
33
- return `${opts.env}_${opts.project}_${opts.org}_${opts.cluster || ''}_${opts.name || ''}`;
34
- };
35
- exports.BasedContext = (0, react_1.createContext)({
36
- clients: {},
37
- // eslint-disable-next-line
38
- removeClient: (...args) => { },
39
- });
40
- const errors = {};
41
- const errorListeners = new Set();
42
- const loadings = new Set();
43
- const loadingListeners = new Set();
44
- const newClientListeners = new Set();
45
- let isLoading = false;
46
- let lastError = '';
47
- let errorCnt = 0;
48
- let errorKey = errorCnt + lastError;
49
- const defaultCreateClient = (selector) => {
50
- if (typeof selector === 'object') {
51
- if (process.env.CLUSTER &&
52
- process.env.CLUSTER.startsWith('local') &&
53
- !selector.cluster) {
54
- selector.cluster = process.env.CLUSTER;
55
- }
56
- return (0, client_1.default)(selector);
57
- }
58
- else {
59
- // default
60
- console.error('Cannot create client from ' + selector);
61
- }
62
- };
63
- exports.defaultCreateClient = defaultCreateClient;
64
- const Provider = ({ client, children, clients, createClient }) => {
65
- if (!clients && client) {
66
- clients = {
67
- default: client,
68
- };
69
- }
70
- else if (clients && client) {
71
- clients.default = client;
72
- }
73
- const ctx = react_1.default.createElement(exports.BasedContext.Provider, {
74
- value: {
75
- clients,
76
- createClient: createClient || exports.defaultCreateClient,
77
- removeClient: (selector) => {
78
- if (selector instanceof client_1.Based) {
79
- for (const cl in clients) {
80
- if (clients[cl] === selector) {
81
- selector = cl;
82
- break;
83
- }
84
- }
85
- if (typeof selector !== 'string') {
86
- console.error('Cannot find client to remove from ctx', selector);
87
- return;
88
- }
89
- }
90
- else if (typeof selector !== 'string') {
91
- selector = genOptsId(selector);
92
- }
93
- // @ts-ignore
94
- if (clients[selector]) {
95
- // @ts-ignore
96
- clients[selector].disconnect();
97
- // @ts-ignore
98
- delete clients[selector];
99
- newClientListeners.forEach((fn) => fn());
100
- }
101
- },
102
- },
103
- }, children);
104
- return ctx;
105
- };
106
- exports.Provider = Provider;
107
- const useBasedContext = () => {
108
- return (0, react_1.useContext)(exports.BasedContext);
109
- };
110
- exports.useBasedContext = useBasedContext;
111
- function forceUpdate(state) {
112
- return state + 1;
113
- }
114
- const useClients = () => {
115
- const ctx = (0, exports.useBasedContext)();
116
- const [, update] = (0, react_1.useReducer)(forceUpdate, 0);
117
- (0, react_1.useEffect)(() => {
118
- let timer;
119
- const fn = () => {
120
- timer = setTimeout(update, 0);
121
- };
122
- newClientListeners.add(fn);
123
- return () => {
124
- newClientListeners.delete(fn);
125
- clearTimeout(timer);
126
- };
127
- }, []);
128
- return Object.values(ctx.clients);
129
- };
130
- exports.useClients = useClients;
131
- const useClient = (selector = 'default') => {
132
- const basedCtx = (0, react_1.useContext)(exports.BasedContext);
133
- if (typeof selector === 'object') {
134
- if (!(selector.env && selector.project && selector.org)) {
135
- return;
136
- }
137
- }
138
- let key;
139
- if (typeof selector === 'string') {
140
- key = selector;
141
- }
142
- else {
143
- key = selector.key || genOptsId(selector);
144
- }
145
- let client = basedCtx.clients[key];
146
- if (!client && basedCtx.createClient) {
147
- client = basedCtx.createClient(selector);
148
- if (client) {
149
- basedCtx.clients[key] = client;
150
- newClientListeners.forEach((fn) => fn());
151
- }
152
- }
153
- return client;
154
- };
155
- exports.useClient = useClient;
156
- function resultReducer(state, action) {
157
- if (action.error) {
158
- state.error = action.error;
159
- }
160
- if (action.data) {
161
- state.checksum = action.checksum || 0;
162
- state.data = action.data;
163
- state.loading = false;
164
- if (state.error) {
165
- delete state.error;
166
- }
167
- }
168
- if (action.loading) {
169
- state.loading = action.loading;
170
- }
171
- return { ...state };
172
- }
173
- function useAuth(clientSelector) {
174
- const client = (0, exports.useClient)(clientSelector);
175
- const [token, setToken] = (0, react_1.useState)(false);
176
- (0, react_1.useEffect)(() => {
177
- const t = () => setToken(client.getToken());
178
- client.on('auth', t);
179
- return () => {
180
- client.removeListener('auth', t);
181
- };
182
- }, []);
183
- return token;
184
- }
185
- exports.useAuth = useAuth;
186
- function useSchema(name = 'default', clientSelector) {
187
- const x = useData(name
188
- ? {
189
- $subscribe_schema: name,
190
- }
191
- : null, clientSelector);
192
- return {
193
- loading: x.loading,
194
- error: x.error,
195
- schema: x.data,
196
- };
197
- }
198
- exports.useSchema = useSchema;
199
- function useTrack(type, params, clientSelector) {
200
- if (type) {
201
- const selector = clientSelector || 'default';
202
- const client = (0, exports.useClient)(selector);
203
- const id = (0, react_1.useMemo)(() => {
204
- return (0, client_1.generateSubscriptionId)(params, type);
205
- }, [type, params]);
206
- (0, react_1.useEffect)(() => {
207
- client.track(type, params);
208
- return () => {
209
- client.untrack(type, params);
210
- };
211
- }, [id]);
212
- }
213
- else {
214
- (0, exports.useClient)(clientSelector);
215
- (0, react_1.useMemo)(() => { }, []);
216
- (0, react_1.useEffect)(stubFn, [null, null]);
217
- }
218
- }
219
- exports.useTrack = useTrack;
220
- function useData(a, payload, clientSelector) {
221
- const [result, dispatch] = (0, react_1.useReducer)(resultReducer, {
222
- loading: true,
223
- data: {},
224
- checksum: 0,
225
- });
226
- if (a) {
227
- const subId = (0, react_1.useMemo)(() => {
228
- return (0, client_1.generateSubscriptionId)(typeof a === 'string' ? [a, payload] : a);
229
- }, [payload, a]);
230
- const isNamed = typeof a === 'string';
231
- const selector = clientSelector || (!isNamed ? payload : 'default');
232
- const client = (0, exports.useClient)(selector);
233
- const clientKey = typeof selector === 'string' ? selector : genOptsId(selector);
234
- if (client) {
235
- const subKey = clientKey + subId;
236
- (0, react_1.useEffect)(() => {
237
- updateMeta(subKey, true, false);
238
- dispatch({ error: null, loading: true, data: {} });
239
- const [, subscriberId] = (0, client_1.addSubscriber)(client.client, isNamed ? payload : a, (d, checksum) => {
240
- updateMeta(subKey, false, false);
241
- dispatch({ data: d, checksum });
242
- }, (err) => {
243
- if (err) {
244
- console.error(err);
245
- updateMeta(subKey, false, err);
246
- dispatch({ error: err, loading: false });
247
- }
248
- }, (err) => {
249
- console.error(err);
250
- updateMeta(subKey, false, err);
251
- dispatch({ error: err });
252
- }, subId, typeof a === 'string' ? a : undefined);
253
- return () => {
254
- updateMeta(subKey, false, false);
255
- (0, client_1.removeSubscriber)(client.client, subId, subscriberId);
256
- };
257
- }, [subId, clientKey]);
258
- }
259
- else {
260
- (0, react_1.useEffect)(stubFn, [null, null]);
261
- }
262
- }
263
- else {
264
- (0, react_1.useMemo)(stubFn, [payload, a]);
265
- (0, exports.useClient)(clientSelector);
266
- (0, react_1.useEffect)(stubFn, [null, null]);
267
- }
268
- return result;
269
- }
270
- exports.useData = useData;
271
- function useLoading() {
272
- const [, setLoading] = (0, react_1.useState)(isLoading);
273
- loadingListeners.add(setLoading);
274
- (0, react_1.useEffect)(() => {
275
- return () => {
276
- loadingListeners.delete(setLoading);
277
- };
278
- }, []);
279
- return { loading: isLoading };
280
- }
281
- exports.useLoading = useLoading;
282
- function useError() {
283
- const [, setError] = (0, react_1.useState)(errorKey);
284
- errorListeners.add(setError);
285
- (0, react_1.useEffect)(() => {
286
- return () => {
287
- errorListeners.delete(setError);
288
- };
289
- }, []);
290
- return { error: errorCnt ? lastError : null, errors: Object.values(errors) };
291
- }
292
- exports.useError = useError;
293
- function updateMeta(subKey, loading, error) {
294
- if (error) {
295
- lastError = error;
296
- if (subKey in errors) {
297
- errors[subKey] = error;
298
- }
299
- else {
300
- errors[subKey] = error;
301
- errorCnt++;
302
- }
303
- }
304
- else {
305
- if (subKey in errors) {
306
- errorCnt--;
307
- delete errors[subKey];
308
- }
309
- }
310
- const newErrorKey = errorCnt + lastError;
311
- if (newErrorKey !== errorKey) {
312
- errorKey = newErrorKey;
313
- errorListeners.forEach((fn) => fn(errorKey));
314
- }
315
- if (loading) {
316
- loadings.add(subKey);
317
- }
318
- else {
319
- loadings.delete(subKey);
320
- }
321
- const newLoading = !!loadings.size;
322
- if (newLoading !== isLoading) {
323
- isLoading = newLoading;
324
- loadingListeners.forEach((fn) => fn(isLoading));
325
- }
326
- }
327
- function useQuery(query, variables = {}, clientSelector) {
328
- const [result, dispatch] = (0, react_1.useReducer)(resultReducer, {
329
- loading: true,
330
- data: {},
331
- checksum: 0,
332
- });
333
- const r = (0, react_1.useRef)({ checksum: 0, schemaChecksum: 0 });
334
- if (query) {
335
- const selector = clientSelector || 'default';
336
- const client = (0, exports.useClient)(selector);
337
- const [configState, updateConfigState] = (0, react_1.useState)(0);
338
- (0, react_1.useEffect)(() => {
339
- const [, subscriberId] = (0, client_1.addSubscriber)(client.client,
340
- // FIXME
341
- { $subscribe_schema: 'default' }, (d, checksum) => {
342
- console.info('snurp', 'flx', checksum);
343
- if (!client.client.configuration) {
344
- client.client.configuration = { dbs: [], schema: {} };
345
- }
346
- client.client.configuration.schema.default = d;
347
- updateConfigState(checksum);
348
- }, (err) => {
349
- if (err) {
350
- console.error(err);
351
- }
352
- }, (err) => {
353
- console.error(err);
354
- }, schemaSubId);
355
- return () => {
356
- (0, client_1.removeSubscriber)(client.client, schemaSubId, subscriberId);
357
- };
358
- return () => { };
359
- }, []);
360
- if (configState) {
361
- let op;
362
- if (typeof query === 'string') {
363
- op = client.gql(query);
364
- }
365
- else {
366
- op = query;
367
- }
368
- op = (0, client_1.handleGraphqlVariables)(op, op, variables);
369
- const fns = [];
370
- const queryObj = {};
371
- for (const key in op.ops) {
372
- if (op.ops[key].fnObserve) {
373
- const { name, payload } = op.ops[key].fnObserve;
374
- fns.push({ name: name, payload });
375
- continue;
376
- }
377
- queryObj[key] = op.ops[key].get;
378
- }
379
- // if (fns?.length) {
380
- // console.log('HELLO OBSERVABLE FUNCTIONS', JSON.stringify(fns, null, 2))
381
- // // TODO: create observables for these fns and combine with below
382
- // return new Observable(this.client, { $db: op.db, data: queryObj })
383
- // }
384
- // return new Observable(this.client, { $db: op.db, data: queryObj })
385
- // }
386
- // op
387
- const subId = (0, react_1.useMemo)(() => {
388
- // fn?
389
- return (0, client_1.generateSubscriptionId)(queryObj);
390
- }, [queryObj]);
391
- const clientKey = typeof selector === 'string' ? selector : genOptsId(selector);
392
- if (client) {
393
- const subKey = clientKey + subId;
394
- (0, react_1.useEffect)(() => {
395
- if (!configState) {
396
- return;
397
- }
398
- updateMeta(subKey, true, false);
399
- // dispatch({ error: null, loading: true, data: {} })
400
- const [, subscriberId] = (0, client_1.addSubscriber)(client.client, queryObj, (d, checksum) => {
401
- // updateMeta(subKey, false, false)
402
- console.info(r.current.checksum);
403
- if (r.current.checksum !== checksum) {
404
- r.current.checksum = checksum;
405
- dispatch({ data: d, checksum });
406
- }
407
- }, (err) => {
408
- if (err) {
409
- console.error(err);
410
- // updateMeta(subKey, false, err)
411
- dispatch({ error: err, loading: false });
412
- }
413
- }, (err) => {
414
- console.error(err);
415
- // updateMeta(subKey, false, err)
416
- dispatch({ error: err });
417
- }, subId);
418
- return () => {
419
- // updateMeta(subKey, false, false)
420
- (0, client_1.removeSubscriber)(client.client, subId, subscriberId);
421
- };
422
- }, [subId, clientKey, configState]);
423
- }
424
- else {
425
- (0, react_1.useEffect)(stubFn, [null, null]);
426
- }
427
- }
428
- else {
429
- (0, react_1.useMemo)(stubFn, [query]);
430
- (0, react_1.useEffect)(stubFn, [null, null, null]);
431
- }
432
- }
433
- else {
434
- (0, exports.useClient)(clientSelector);
435
- (0, react_1.useState)(null);
436
- (0, react_1.useEffect)(stubFn, [null]);
437
- (0, react_1.useMemo)(stubFn, [query]);
438
- (0, react_1.useEffect)(stubFn, [null, null, null]);
439
- }
440
- return result;
441
- }
442
- exports.useQuery = useQuery;
443
- function stubFn() { }
444
- //# sourceMappingURL=index.js.map
1
+ var te=Object.create;var S=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames,H=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(H)for(var t of H(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,i)=>{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:!(i=ne(r,n))||i.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:()=>Q,Provider:()=>le,defaultCreateClient:()=>Y,updateMeta:()=>g,useAuth:()=>pe,useBasedContext:()=>Z,useClient:()=>C,useClients:()=>fe,useData:()=>re,useError:()=>ge,useLoading:()=>de,useQuery:()=>me,useSchema:()=>be,useTrack:()=>he});module.exports=ue(ke);var f=require("react"),O=require("@based/client");function j(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 B=e=>{if(!!e)return e.key?e.key:`${e.env}_${e.project}_${e.org}_${e.cluster||""}_${e.name||""}`};var k=X(require("react")),w=X(require("@based/client"));var $=new Set,Q=(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,w.default)(e);console.error("Cannot create client from "+e)},le=({client:e,children:r,clients:t,createClient:i})=>(!t&&e?t={default:e}:t&&e&&(t.default=e),k.default.createElement(Q.Provider,{value:{clients:t,createClient:i||Y,removeClient:o=>{if(o instanceof w.Based){for(let h in t)if(t[h]===o){o=h;break}if(typeof o!="string"){console.error("Cannot find client to remove from ctx",o);return}}else typeof o!="string"&&(o=B(o));t[o]&&(t[o].disconnect(),delete t[o],$.forEach(h=>h()))}}},r)),Z=()=>(0,k.useContext)(Q);function ce(e){return e+1}var fe=()=>{let e=Z(),[,r]=(0,k.useReducer)(ce,0);return(0,k.useEffect)(()=>{let t,i=()=>{t=setTimeout(r,0)};return $.add(i),()=>{$.delete(i),clearTimeout(t)}},[]),Object.values(e.clients)},C=(e="default")=>{let r=(0,k.useContext)(Q);if(typeof e=="object"&&!(e.env&&e.project&&e.org))return;let t;typeof e=="string"?t=e:t=e.key||B(e);let i=r.clients[t];return!i&&r.createClient&&(i=r.createClient(e),i&&(r.clients[t]=i,$.forEach(n=>n()))),i};var v=require("react"),E={},P=new Set,N=new Set,q=new Set,D=!1,F="",I=0,_=I+F;function g(e,r,t){t?(F=t,e in E?E[e]=t:(E[e]=t,I++)):e in E&&(I--,delete E[e]);let i=I+F;i!==_&&(_=i,P.forEach(o=>o(_))),r?N.add(e):N.delete(e);let n=!!N.size;n!==D&&(D=n,q.forEach(o=>o(D)))}function de(){let[,e]=(0,v.useState)(D);return q.add(e),(0,v.useEffect)(()=>()=>{q.delete(e)},[]),{loading:D}}function ge(){let[,e]=(0,v.useState)(_);return P.add(e),(0,v.useEffect)(()=>()=>{P.delete(e)},[]),{error:I?F:null,errors:Object.values(E)}}var s=require("react"),b=require("@based/client");var M=require("@saulx/hash"),ee=(0,b.generateSubscriptionId)({$subscribe_schema:"default"});function me(e,r={},t){let[i,n]=(0,s.useReducer)(j,{loading:!0,data:{},checksum:0}),o=(0,s.useRef)({checksum:0,fns:{}}),h=t||"default",c=C(h);if(e){let[x,R]=(0,s.useState)(0);if((0,s.useEffect)(()=>{let[,u]=(0,b.addSubscriber)(c.client,{$subscribe_schema:"default"},(d,l)=>{c.client.configuration||(c.client.configuration={dbs:[],schema:{},functions:{}}),c.client.configuration.schema.default=d,R(l)},d=>{d&&console.error(d)},d=>{console.error(d)},ee);return()=>{(0,b.removeSubscriber)(c.client,ee,u)}},[]),x){let u;typeof e=="string"?u=c.gql(e):u=e,u=(0,b.handleGraphqlVariables)(u,u,r);let d={},l={};for(let m in u.ops){if(u.ops[m].fnObserve){let{name:L,payload:a}=u.ops[m].fnObserve;d[m]={name:L,payload:a,key:m};continue}l[m]=u.ops[m].get}let U=(0,s.useMemo)(()=>(0,M.hashObjectIgnoreKeyOrder)(d),[d]),T=(0,s.useMemo)(()=>(0,b.generateSubscriptionId)(l),[l]),z=typeof h=="string"?h:B(h);if(c){let m=z+T;(0,s.useEffect)(()=>{let L=[];for(let a in d)L.push((0,b.addSubscriber)(c.client,d[a].payload,(p,A)=>{g(m,!1,!1),o.current.fns[a]!==A&&(o.current.fns[a]=A,n({merge:{[a]:p},checksum:(0,M.hashObjectIgnoreKeyOrder)(o.current)}))},p=>{p&&(console.error(p),n({error:p,loading:!1}))},p=>{console.error(p),g(m,!1,p),n({error:p})},void 0,d[a].name));return()=>{for(let[a,p]of L)(0,b.removeSubscriber)(c.client,a,p)}},[U]),(0,s.useEffect)(()=>{if(!x)return;g(m,!0,!1);let[,L]=(0,b.addSubscriber)(c.client,l,(a,p)=>{g(m,!1,!1),o.current.checksum!==p&&(o.current.checksum=p,n({merge:a,checksum:(0,M.hashObjectIgnoreKeyOrder)(o.current)}))},a=>{a&&(console.error(a),g(m,!1,a),n({error:a,loading:!1}))},a=>{console.error(a),g(m,!1,a),n({error:a})},T);return()=>{g(m,!1,!1),(0,b.removeSubscriber)(c.client,T,L)}},[T,z,x])}else(0,s.useEffect)(y,[null,null])}else(0,s.useMemo)(y,[null]),(0,s.useMemo)(y,[null]),(0,s.useEffect)(y,[null]),(0,s.useEffect)(y,[null,null,null])}else(0,s.useState)(null),(0,s.useEffect)(y,[null]),(0,s.useMemo)(y,[null]),(0,s.useMemo)(y,[null]),(0,s.useEffect)(y,[null]),(0,s.useEffect)(y,[null,null,null]);return i}function y(){}function pe(e){let r=C(e),[t,i]=(0,f.useState)(!1);return(0,f.useEffect)(()=>{let n=()=>i(r.getToken());return r.on("auth",n),()=>{r.removeListener("auth",n)}},[]),t}function be(e="default",r){let t=re(e?{$subscribe_schema:e}:null,r);return{loading:t.loading,error:t.error,schema:t.data}}function he(e,r,t){if(e){let n=C(t||"default"),o=(0,f.useMemo)(()=>(0,O.generateSubscriptionId)(r,e),[e,r]);(0,f.useEffect)(()=>(n.track(e,r),()=>{n.untrack(e,r)}),[o])}else C(t),(0,f.useMemo)(()=>{},[]),(0,f.useEffect)(G,[null,null])}function re(e,r,t){let[i,n]=(0,f.useReducer)(j,{loading:!0,data:{},checksum:0});if(e){let o=(0,f.useMemo)(()=>(0,O.generateSubscriptionId)(typeof e=="string"?[e,r]:e),[r,e]),h=typeof e=="string",c=t||(h?"default":r),x=C(c),R=typeof c=="string"?c:B(c);if(x){let u=R+o;(0,f.useEffect)(()=>{g(u,!0,!1),n({error:null,loading:!0,data:{}});let[,d]=(0,O.addSubscriber)(x.client,h?r:e,(l,U)=>{g(u,!1,!1),n({data:l,checksum:U})},l=>{l&&(console.error(l),g(u,!1,l),n({error:l,loading:!1}))},l=>{console.error(l),g(u,!1,l),n({error:l})},o,typeof e=="string"?e:void 0);return()=>{g(u,!1,!1),(0,O.removeSubscriber)(x.client,o,d)}},[o,R])}else(0,f.useEffect)(G,[null,null])}else(0,f.useMemo)(G,[r,e]),C(t),(0,f.useEffect)(G,[null,null]);return i}function G(){}0&&(module.exports={BasedContext,Provider,defaultCreateClient,updateMeta,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,+CAUc;AACd,wDAUsB;AAEtB,MAAM,WAAW,GAAG,IAAA,+BAAsB,EAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAA;AAE5E,MAAM,SAAS,GAAG,CAAC,IAAkC,EAAU,EAAE;IAC/D,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IAED,IAAI,IAAI,CAAC,GAAG,EAAE;QACZ,OAAO,IAAI,CAAC,GAAG,CAAA;KAChB;IAED,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,IAClE,IAAI,CAAC,IAAI,IAAI,EACf,EAAE,CAAA;AACJ,CAAC,CAAA;AAcY,QAAA,YAAY,GAAG,IAAA,qBAAa,EAAmB;IAC1D,OAAO,EAAE,EAAE;IACX,2BAA2B;IAC3B,YAAY,EAAE,CAAC,GAAG,IAAS,EAAE,EAAE,GAAE,CAAC;CACnC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,EAAE,CAAA;AACjB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAA;AAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;AAC1B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;AAClC,MAAM,kBAAkB,GAAoB,IAAI,GAAG,EAAE,CAAA;AAErD,IAAI,SAAS,GAAG,KAAK,CAAA;AACrB,IAAI,SAAS,GAAG,EAAE,CAAA;AAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;AAChB,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE5B,MAAM,mBAAmB,GAAiB,CAAC,QAAQ,EAAE,EAAE;IAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,IACE,OAAO,CAAC,GAAG,CAAC,OAAO;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YACvC,CAAC,QAAQ,CAAC,OAAO,EACjB;YACA,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;SACvC;QACD,OAAO,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAA;KACvB;SAAM;QACL,UAAU;QACV,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,QAAQ,CAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAdY,QAAA,mBAAmB,uBAc/B;AAEM,MAAM,QAAQ,GAKhB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;QACtB,OAAO,GAAG;YACR,OAAO,EAAE,MAAM;SAChB,CAAA;KACF;SAAM,IAAI,OAAO,IAAI,MAAM,EAAE;QAC5B,OAAO,CAAC,OAAO,GAAG,MAAM,CAAA;KACzB;IAED,MAAM,GAAG,GAAG,eAAK,CAAC,aAAa,CAC7B,oBAAY,CAAC,QAAQ,EACrB;QACE,KAAK,EAAE;YACL,OAAO;YACP,YAAY,EAAE,YAAY,IAAI,2BAAmB;YACjD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACzB,IAAI,QAAQ,YAAY,cAAK,EAAE;oBAC7B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;wBACxB,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;4BAC5B,QAAQ,GAAG,EAAE,CAAA;4BACb,MAAK;yBACN;qBACF;oBACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;wBAChC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,QAAQ,CAAC,CAAA;wBAChE,OAAM;qBACP;iBACF;qBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;oBACvC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;iBAC/B;gBACD,aAAa;gBACb,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACrB,aAAa;oBACb,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAA;oBAC9B,aAAa;oBACb,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACxB,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;iBACzC;YACH,CAAC;SACF;KACF,EACD,QAAQ,CACT,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAlDY,QAAA,QAAQ,YAkDpB;AAEM,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,IAAA,kBAAU,EAAC,oBAAY,CAAC,CAAA;AACjC,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,GAAG,CAAC,CAAA;AAClB,CAAC;AAEM,MAAM,UAAU,GAAG,GAAY,EAAE;IACtC,MAAM,GAAG,GAAG,IAAA,uBAAe,GAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,kBAAU,EAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAA;QACT,MAAM,EAAE,GAAG,GAAG,EAAE;YACd,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAA;QACD,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,GAAG,EAAE;YACV,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC7B,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC,CAAA;AAjBY,QAAA,UAAU,cAiBtB;AAEM,MAAM,SAAS,GAAG,CACvB,WAAoD,SAAS,EAC7D,EAAE;IACF,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,oBAAY,CAAC,CAAA;IAEzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvD,OAAM;SACP;KACF;IAED,IAAI,GAAW,CAAA;IAEf,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,GAAG,GAAG,QAAQ,CAAA;KACf;SAAM;QACL,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAA;KAC1C;IAED,IAAI,MAAM,GAAU,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE;QACpC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;YAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;SACzC;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA/BY,QAAA,SAAS,aA+BrB;AAMD,SAAS,aAAa,CACpB,KAAwE,EACxE,MAA4E;IAE5E,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;KAC3B;IACD,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;QACrB,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;KACF;IACD,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;KAC/B;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;AACrB,CAAC;AAED,SAAgB,OAAO,CACrB,cAAwD;IAExD,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAA;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAiB,KAAK,CAAC,CAAA;IACzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACpB,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,KAAK,CAAA;AACd,CAAC;AAbD,0BAaC;AAED,SAAgB,SAAS,CACvB,OAA8B,SAAS,EACvC,cAAwD;IAMxD,MAAM,CAAC,GAAG,OAAO,CACf,IAAI;QACF,CAAC,CAAC;YACE,iBAAiB,EAAE,IAAI;SACxB;QACH,CAAC,CAAC,IAAI,EACR,cAAc,CACf,CAAA;IAED,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,IAAI;KACf,CAAA;AACH,CAAC;AAtBD,8BAsBC;AAED,SAAgB,QAAQ,CACtB,IAAY,EACZ,MAAqD,EACrD,cAAwD;IAExD,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,cAAc,IAAI,SAAS,CAAA;QAC5C,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,EAAE,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;YACtB,OAAO,IAAA,+BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;QAClB,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC1B,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC9B,CAAC,CAAA;QACH,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KACT;SAAM;QACL,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAA;QACzB,IAAA,eAAO,EAAC,GAAG,EAAE,GAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACrB,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;KAChC;AACH,CAAC;AAtBD,4BAsBC;AAyBD,SAAgB,OAAO,CACrB,CAAiB,EACjB,OAAa,EACb,cAAwD;IAMxD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE;QACnD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE;QACL,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;YACzB,OAAO,IAAA,+BAAsB,EAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACzE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAA;QAErC,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAEnE,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;QAElC,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE/D,IAAI,MAAM,EAAE;YACV,MAAM,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;YAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC/B,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;gBAClD,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,IAAA,sBAAa,EACpC,MAAM,CAAC,MAAM,EACb,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EACrB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;oBACd,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;oBAChC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACjC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,GAAG,EAAE;wBACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAClB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBAC9B,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;qBACzC;gBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAClB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;oBAC9B,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC1B,CAAC,EACD,KAAK,EACL,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACtC,CAAA;gBACD,OAAO,GAAG,EAAE;oBACV,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;oBAChC,IAAA,yBAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBACtD,CAAC,CAAA;YACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;SACvB;aAAM;YACL,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;SAChC;KACF;SAAM;QACL,IAAA,eAAO,EAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAA;QACzB,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;KAChC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAxED,0BAwEC;AAED,SAAgB,UAAU;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;IAE1C,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC/B,CAAC;AAZD,gCAYC;AAED,SAAgB,QAAQ;IACtB,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IAEvC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE5B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;AAC9E,CAAC;AAZD,4BAYC;AAED,SAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK;IACxC,IAAI,KAAK,EAAE;QACT,SAAS,GAAG,KAAK,CAAA;QACjB,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SACvB;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;YACtB,QAAQ,EAAE,CAAA;SACX;KACF;SAAM;QACL,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAA;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;SACtB;KACF;IAED,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IACxC,IAAI,WAAW,KAAK,QAAQ,EAAE;QAC5B,QAAQ,GAAG,WAAW,CAAA;QACtB,cAAc,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;KACvD;IAED,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACrB;SAAM;QACL,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KACxB;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;IAClC,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,SAAS,GAAG,UAAU,CAAA;QACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;KAC1D;AACH,CAAC;AAED,SAAgB,QAAQ,CACtB,KAA6B,EAC7B,YAAiC,EAAE,EACnC,cAAwD;IAMxD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,aAAa,EAAE;QACnD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,IAAA,cAAM,EAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAA;IAEpD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,cAAc,IAAI,SAAS,CAAA;QAE5C,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;QAElC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;QAEpD,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,IAAA,sBAAa,EACpC,MAAM,CAAC,MAAM;YACb,QAAQ;YACR,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAChC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gBACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;oBAChC,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;iBACtD;gBACD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC9C,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACnB;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC,EACD,WAAW,CACZ,CAAA;YACD,OAAO,GAAG,EAAE;gBACV,IAAA,yBAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;YAC5D,CAAC,CAAA;YACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QACjB,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,WAAW,EAAE;YACf,IAAI,EAAgB,CAAA;YACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;aACvB;iBAAM;gBACL,EAAE,GAAG,KAAK,CAAA;aACX;YAED,EAAE,GAAG,IAAA,+BAAsB,EAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YAE9C,MAAM,GAAG,GAAqC,EAAE,CAAA;YAChD,MAAM,QAAQ,GAAQ,EAAE,CAAA;YACxB,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE;gBACxB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE;oBACzB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;oBAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAU,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;oBACzC,SAAQ;iBACT;gBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;aAChC;YAED,qBAAqB;YACrB,4EAA4E;YAE5E,qEAAqE;YACrE,uEAAuE;YACvE,IAAI;YAEJ,qEAAqE;YACrE,IAAI;YAEJ,KAAK;YAEL,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;gBACzB,MAAM;gBACN,OAAO,IAAA,+BAAsB,EAAC,QAAQ,CAAC,CAAA;YACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEd,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAE/D,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;gBAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;oBACb,IAAI,CAAC,WAAW,EAAE;wBAChB,OAAM;qBACP;oBACD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;oBAC/B,qDAAqD;oBACrD,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,IAAA,sBAAa,EACpC,MAAM,CAAC,MAAM,EACb,QAAQ,EACR,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;wBACd,mCAAmC;wBAEnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;wBAEhC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;4BACnC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;4BAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;yBAChC;oBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,IAAI,GAAG,EAAE;4BACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BAClB,iCAAiC;4BACjC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;yBACzC;oBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAClB,iCAAiC;wBACjC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;oBAC1B,CAAC,EACD,KAAK,CACN,CAAA;oBACD,OAAO,GAAG,EAAE;wBACV,mCAAmC;wBACnC,IAAA,yBAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;oBACtD,CAAC,CAAA;gBACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;aACpC;iBAAM;gBACL,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;aAChC;SACF;aAAM;YACL,IAAA,eAAO,EAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YACxB,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;SACtC;KACF;SAAM;QACL,IAAA,iBAAS,EAAC,cAAc,CAAC,CAAA;QACzB,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;QACd,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAEzB,IAAA,eAAO,EAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAExB,IAAA,iBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;KACtC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAzJD,4BAyJC;AAED,SAAS,MAAM,KAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/meta.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export declare function updateMeta(subKey: any, loading: any, error: any): void;
2
+ export declare function useLoading(): {
3
+ loading: boolean;
4
+ };
5
+ export declare function useError(): {
6
+ error: string;
7
+ errors: unknown[];
8
+ };
package/dist/meta.js ADDED
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useError = exports.useLoading = exports.updateMeta = void 0;
4
+ const react_1 = require("react");
5
+ const errors = {};
6
+ const errorListeners = new Set();
7
+ const loadings = new Set();
8
+ const loadingListeners = new Set();
9
+ let isLoading = false;
10
+ let lastError = '';
11
+ let errorCnt = 0;
12
+ let errorKey = errorCnt + lastError;
13
+ function updateMeta(subKey, loading, error) {
14
+ if (error) {
15
+ lastError = error;
16
+ if (subKey in errors) {
17
+ errors[subKey] = error;
18
+ }
19
+ else {
20
+ errors[subKey] = error;
21
+ errorCnt++;
22
+ }
23
+ }
24
+ else {
25
+ if (subKey in errors) {
26
+ errorCnt--;
27
+ delete errors[subKey];
28
+ }
29
+ }
30
+ const newErrorKey = errorCnt + lastError;
31
+ if (newErrorKey !== errorKey) {
32
+ errorKey = newErrorKey;
33
+ errorListeners.forEach((fn) => fn(errorKey));
34
+ }
35
+ if (loading) {
36
+ loadings.add(subKey);
37
+ }
38
+ else {
39
+ loadings.delete(subKey);
40
+ }
41
+ const newLoading = !!loadings.size;
42
+ if (newLoading !== isLoading) {
43
+ isLoading = newLoading;
44
+ loadingListeners.forEach((fn) => fn(isLoading));
45
+ }
46
+ }
47
+ exports.updateMeta = updateMeta;
48
+ function useLoading() {
49
+ const [, setLoading] = (0, react_1.useState)(isLoading);
50
+ loadingListeners.add(setLoading);
51
+ (0, react_1.useEffect)(() => {
52
+ return () => {
53
+ loadingListeners.delete(setLoading);
54
+ };
55
+ }, []);
56
+ return { loading: isLoading };
57
+ }
58
+ exports.useLoading = useLoading;
59
+ function useError() {
60
+ const [, setError] = (0, react_1.useState)(errorKey);
61
+ errorListeners.add(setError);
62
+ (0, react_1.useEffect)(() => {
63
+ return () => {
64
+ errorListeners.delete(setError);
65
+ };
66
+ }, []);
67
+ return { error: errorCnt ? lastError : null, errors: Object.values(errors) };
68
+ }
69
+ exports.useError = useError;
70
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":";;;AAAA,iCAA2C;AAE3C,MAAM,MAAM,GAAG,EAAE,CAAA;AACjB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAA;AAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;AAC1B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;AAElC,IAAI,SAAS,GAAG,KAAK,CAAA;AACrB,IAAI,SAAS,GAAG,EAAE,CAAA;AAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;AAChB,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEnC,SAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK;IAC/C,IAAI,KAAK,EAAE;QACT,SAAS,GAAG,KAAK,CAAA;QACjB,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SACvB;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;YACtB,QAAQ,EAAE,CAAA;SACX;KACF;SAAM;QACL,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAA;YACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;SACtB;KACF;IAED,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IACxC,IAAI,WAAW,KAAK,QAAQ,EAAE;QAC5B,QAAQ,GAAG,WAAW,CAAA;QACtB,cAAc,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;KACvD;IAED,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACrB;SAAM;QACL,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KACxB;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;IAClC,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,SAAS,GAAG,UAAU,CAAA;QACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;KAC1D;AACH,CAAC;AAjCD,gCAiCC;AAED,SAAgB,UAAU;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAA;IAE1C,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC/B,CAAC;AAZD,gCAYC;AAED,SAAgB,QAAQ;IACtB,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IAEvC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE5B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;AAC9E,CAAC;AAZD,4BAYC"}
@@ -0,0 +1,18 @@
1
+ import { Data, Loading } from './types';
2
+ export declare function resultReducer(state: {
3
+ data: Data;
4
+ error?: Error;
5
+ loading: Loading;
6
+ checksum: number;
7
+ }, action: {
8
+ merge?: Data;
9
+ data?: Data;
10
+ error?: Error;
11
+ loading?: Loading;
12
+ checksum?: number;
13
+ }): {
14
+ data: Data;
15
+ error?: Error;
16
+ loading: Loading;
17
+ checksum: number;
18
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resultReducer = void 0;
4
+ function resultReducer(state, action) {
5
+ if (action.error) {
6
+ state.error = action.error;
7
+ }
8
+ if (action.data) {
9
+ state.checksum = action.checksum || 0;
10
+ state.data = action.data;
11
+ state.loading = false;
12
+ if (state.error) {
13
+ delete state.error;
14
+ }
15
+ }
16
+ if (action.merge) {
17
+ state.checksum = action.checksum || 0;
18
+ if (!state.data) {
19
+ state.data = action.merge;
20
+ }
21
+ else {
22
+ Object.assign(state.data, action.merge);
23
+ }
24
+ state.loading = false;
25
+ if (state.error) {
26
+ delete state.error;
27
+ }
28
+ }
29
+ if (action.loading) {
30
+ state.loading = action.loading;
31
+ }
32
+ return { ...state };
33
+ }
34
+ exports.resultReducer = resultReducer;
35
+ //# sourceMappingURL=reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAC3B,KAAwE,EACxE,MAMC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;KAC3B;IACD,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;QACrB,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;KACF;IAED,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACf,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAA;SAC1B;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;SACxC;QACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;QACrB,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;KACF;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;KAC/B;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;AACrB,CAAC;AAvCD,sCAuCC"}
@@ -0,0 +1,3 @@
1
+ import { GenericObject } from '@based/client';
2
+ export declare type Data = GenericObject;
3
+ export declare type Loading = boolean;
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}