@based/react 5.0.1 → 5.0.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/README.md +182 -0
- package/dist/Provider.d.ts +7 -0
- package/dist/Provider.js +7 -0
- package/dist/Provider.js.map +1 -1
- package/dist/useAuthState.d.ts +7 -0
- package/dist/useAuthState.js +7 -0
- package/dist/useAuthState.js.map +1 -1
- package/dist/useClient.d.ts +7 -0
- package/dist/useClient.js +7 -0
- package/dist/useClient.js.map +1 -1
- package/dist/useConnected.d.ts +7 -0
- package/dist/useConnected.js +7 -0
- package/dist/useConnected.js.map +1 -1
- package/dist/useLoading.d.ts +7 -0
- package/dist/useLoading.js +7 -0
- package/dist/useLoading.js.map +1 -1
- package/dist/useQuery.d.ts +9 -0
- package/dist/useQuery.js +9 -0
- package/dist/useQuery.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# @based/react
|
|
2
|
+
|
|
3
|
+
Wraps the [`@based/client`](https://github.com/atelier-saulx/based/tree/main/packages/client) into react hooks
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
import { useQuery, useClient, useAuthState, Provider } from '@based/react'
|
|
7
|
+
import based from '@based/client'
|
|
8
|
+
|
|
9
|
+
// Create client
|
|
10
|
+
const client = based({
|
|
11
|
+
env: 'myEnv',
|
|
12
|
+
org: 'myOrg',
|
|
13
|
+
project: 'myProject',
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
export const Authenticate = ({ children }) => {
|
|
17
|
+
// Observes id a user is authenticated
|
|
18
|
+
const authState = useAuthState()
|
|
19
|
+
|
|
20
|
+
// Returns the based client from the provider
|
|
21
|
+
const client = useClient()
|
|
22
|
+
|
|
23
|
+
if (authState.token) {
|
|
24
|
+
// When authenticated render the app
|
|
25
|
+
return children
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return <button onClick={() => {
|
|
29
|
+
// Authenticate and use localStorage
|
|
30
|
+
await client.setAuthState({
|
|
31
|
+
token: 'my-token',
|
|
32
|
+
persistent: true,
|
|
33
|
+
})
|
|
34
|
+
}} />
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const Something = () => {
|
|
38
|
+
// Subscribes to data
|
|
39
|
+
const { data, error, loading } = useQuery('db', {
|
|
40
|
+
children: { $list: true, id: true, name: true },
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
return <div>{loading ? 'loading...' : data.children.map(
|
|
44
|
+
{ id, name } => <p onClick={() => {
|
|
45
|
+
client.call('db:delete', { id })
|
|
46
|
+
}} key={id}>{name}</p>)
|
|
47
|
+
}</div>
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const App = () => {
|
|
51
|
+
return <Provider client={client}>
|
|
52
|
+
<Authenticate><Something /></Authenticate>
|
|
53
|
+
</Provider>
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## useQuery
|
|
59
|
+
|
|
60
|
+
Subscribes when a component gets mounted / unsubscribes when a comment gets unmounted.
|
|
61
|
+
Query hooks are automaticly cached and share remote active subscriptions.
|
|
62
|
+
|
|
63
|
+
```js
|
|
64
|
+
import { useQuery } from '@based/react'
|
|
65
|
+
|
|
66
|
+
export const Something = () => {
|
|
67
|
+
const { data, error, loading } = useQuery('someQueryFunction')
|
|
68
|
+
if (error) {
|
|
69
|
+
return error.message
|
|
70
|
+
}
|
|
71
|
+
return <div>{loading ? 'loading...' : data.text}</div>
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The `persistent` option will store the cached result of a query in `localStorage`.
|
|
76
|
+
|
|
77
|
+
```js
|
|
78
|
+
const { data: userInfo } = useQuery(
|
|
79
|
+
'someUserInfo',
|
|
80
|
+
{
|
|
81
|
+
id: client.authState.userId,
|
|
82
|
+
},
|
|
83
|
+
{ persistent: true }
|
|
84
|
+
)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
`useQuery` allows passing a `null` value to the function name - this is usefull when you have a query depending on other data
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
const { data: userInfo } = useQuery('someUserInfo', {
|
|
91
|
+
id: client.authState.userId,
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
const { data } = useQuery(
|
|
95
|
+
userInfo.preferedLanguage ? 'someQueryFunction' : null,
|
|
96
|
+
{
|
|
97
|
+
preferedLanguage: userInfo.preferedLanguage,
|
|
98
|
+
}
|
|
99
|
+
)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## useClient
|
|
103
|
+
|
|
104
|
+
Returns the based client from the `Provider`
|
|
105
|
+
|
|
106
|
+
```js
|
|
107
|
+
import { useClient, Provider } from '@based/react'
|
|
108
|
+
import based from '@based/client'
|
|
109
|
+
|
|
110
|
+
// Create client
|
|
111
|
+
const client = based({
|
|
112
|
+
env: 'myEnv',
|
|
113
|
+
org: 'myOrg',
|
|
114
|
+
project: 'myProject',
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
export const Something = () => {
|
|
118
|
+
const client = useClient()
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
client.call('domSomething')
|
|
121
|
+
}, [])
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export const App = () => {
|
|
125
|
+
return (
|
|
126
|
+
<Provider client={client}>
|
|
127
|
+
<Something />
|
|
128
|
+
</Provider>
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## useConnected
|
|
134
|
+
|
|
135
|
+
Observes the connected state of the based client.
|
|
136
|
+
|
|
137
|
+
```js
|
|
138
|
+
import { useConnected } from '@based/react'
|
|
139
|
+
|
|
140
|
+
export const Something = () => {
|
|
141
|
+
const isConnected = useConnected()
|
|
142
|
+
if (isConnected) {
|
|
143
|
+
return 'connected!'
|
|
144
|
+
}
|
|
145
|
+
return 'not connected :('
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## useLoading
|
|
150
|
+
|
|
151
|
+
Observes if any active `useQuery` hook is loading.
|
|
152
|
+
|
|
153
|
+
```js
|
|
154
|
+
import { useLoading } from '@based/react'
|
|
155
|
+
|
|
156
|
+
export const Something = () => {
|
|
157
|
+
const isLoading = useLoading()
|
|
158
|
+
if (isLoading) {
|
|
159
|
+
return 'some data is loading'
|
|
160
|
+
}
|
|
161
|
+
return 'everything is loaded'
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## useAuthState
|
|
166
|
+
|
|
167
|
+
Observe if a client is authenticated.
|
|
168
|
+
|
|
169
|
+
```js
|
|
170
|
+
import { useAuthState } from '@based/react'
|
|
171
|
+
|
|
172
|
+
export const Something = () => {
|
|
173
|
+
const authState = useAuthState()
|
|
174
|
+
if (authState.token) {
|
|
175
|
+
return `User ${authState.userId} is authenticated`
|
|
176
|
+
}
|
|
177
|
+
if (authState.error) {
|
|
178
|
+
console.log('An error authenticating', authState.error)
|
|
179
|
+
}
|
|
180
|
+
return 'not authenticated'
|
|
181
|
+
}
|
|
182
|
+
```
|
package/dist/Provider.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
import { BasedClient } from '@based/client';
|
|
3
|
+
/**
|
|
4
|
+
Provider for the based client
|
|
5
|
+
|
|
6
|
+
```javascript
|
|
7
|
+
<Provider client={client}><App /></Provider>
|
|
8
|
+
```
|
|
9
|
+
*/
|
|
3
10
|
export declare const Provider: FC<{
|
|
4
11
|
client: BasedClient;
|
|
5
12
|
children: ReactNode;
|
package/dist/Provider.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
import { Ctx } from './Ctx.js';
|
|
3
|
+
/**
|
|
4
|
+
Provider for the based client
|
|
5
|
+
|
|
6
|
+
```javascript
|
|
7
|
+
<Provider client={client}><App /></Provider>
|
|
8
|
+
```
|
|
9
|
+
*/
|
|
3
10
|
export const Provider = ({ client, children }) => {
|
|
4
11
|
return createElement(Ctx.Provider, { value: client }, children);
|
|
5
12
|
};
|
package/dist/Provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,CAAC,MAAM,QAAQ,GAGhB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5B,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B;;;;;;EAME;AACF,MAAM,CAAC,MAAM,QAAQ,GAGhB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5B,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
package/dist/useAuthState.d.ts
CHANGED
package/dist/useAuthState.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { useContext, useState, useEffect } from 'react';
|
|
2
2
|
import { Ctx } from './Ctx.js';
|
|
3
|
+
/**
|
|
4
|
+
Observe if a client is authenticated
|
|
5
|
+
|
|
6
|
+
```javascript
|
|
7
|
+
const { userId, token, error } = useAuthState()
|
|
8
|
+
```
|
|
9
|
+
*/
|
|
3
10
|
export const useAuthState = () => {
|
|
4
11
|
const client = useContext(Ctx);
|
|
5
12
|
const [state, setState] = useState(client?.authState || {});
|
package/dist/useAuthState.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthState.js","sourceRoot":"","sources":["../src/useAuthState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE;IAC1C,MAAM,MAAM,GAAgB,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC1B,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,EAAE;gBAC7B,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;SACtD;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useAuthState.js","sourceRoot":"","sources":["../src/useAuthState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B;;;;;;EAME;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE;IAC1C,MAAM,MAAM,GAAgB,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC1B,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,EAAE;gBAC7B,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;SACtD;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/dist/useClient.d.ts
CHANGED
package/dist/useClient.js
CHANGED
package/dist/useClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClient.js","sourceRoot":"","sources":["../src/useClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAgB,EAAE;IACzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useClient.js","sourceRoot":"","sources":["../src/useClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B;;;;;;EAME;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAgB,EAAE;IACzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
package/dist/useConnected.d.ts
CHANGED
package/dist/useConnected.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { useContext, useState, useEffect } from 'react';
|
|
2
2
|
import { Ctx } from './Ctx.js';
|
|
3
|
+
/**
|
|
4
|
+
Observes the connected state of the based client
|
|
5
|
+
|
|
6
|
+
```javascript
|
|
7
|
+
const isConnected = useConnected()
|
|
8
|
+
```
|
|
9
|
+
*/
|
|
3
10
|
export const useConnected = () => {
|
|
4
11
|
const client = useContext(Ctx);
|
|
5
12
|
const [connected, setConnected] = useState(client.connected);
|
package/dist/useConnected.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnected.js","sourceRoot":"","sources":["../src/useConnected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAgB,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAChC,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACjC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAChC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC9B,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;gBAClC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACjC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACjC,CAAC,CAAA;SACF;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useConnected.js","sourceRoot":"","sources":["../src/useConnected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B;;;;;;EAME;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,MAAM,GAAgB,UAAU,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9B,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAChC,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACjC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAChC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC9B,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;gBAClC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBACjC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACjC,CAAC,CAAA;SACF;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC,CAAA"}
|
package/dist/useLoading.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
export declare const useLoadingListeners: Set<Function>;
|
|
2
2
|
export declare const hooksLoading: Set<number>;
|
|
3
|
+
/**
|
|
4
|
+
Observes if any active `useQuery` hook is loading.
|
|
5
|
+
|
|
6
|
+
```javascript
|
|
7
|
+
const somethingIsLoading = useLoading()
|
|
8
|
+
```
|
|
9
|
+
*/
|
|
3
10
|
export declare const useLoading: () => boolean;
|
package/dist/useLoading.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
export const useLoadingListeners = new Set();
|
|
3
3
|
export const hooksLoading = new Set();
|
|
4
|
+
/**
|
|
5
|
+
Observes if any active `useQuery` hook is loading.
|
|
6
|
+
|
|
7
|
+
```javascript
|
|
8
|
+
const somethingIsLoading = useLoading()
|
|
9
|
+
```
|
|
10
|
+
*/
|
|
4
11
|
export const useLoading = () => {
|
|
5
12
|
const [isLoading, setLoading] = useState(hooksLoading.size > 0);
|
|
6
13
|
useEffect(() => {
|
package/dist/useLoading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoading.js","sourceRoot":"","sources":["../src/useLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB,IAAI,GAAG,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"useLoading.js","sourceRoot":"","sources":["../src/useLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB,IAAI,GAAG,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAA;AAElD;;;;;;EAME;AACF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACnC,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACxC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
package/dist/useQuery.d.ts
CHANGED
|
@@ -7,6 +7,15 @@ export declare const useQueries: <T = any>(name?: string, payloads?: any[], opts
|
|
|
7
7
|
error?: BasedError;
|
|
8
8
|
checksum?: string;
|
|
9
9
|
}[];
|
|
10
|
+
/**
|
|
11
|
+
Hook to observe data
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
const { data, error, loading } = useQuery('db', {
|
|
15
|
+
children: { $list: true, id: true, name: true },
|
|
16
|
+
})
|
|
17
|
+
```
|
|
18
|
+
*/
|
|
10
19
|
export declare const useQuery: <N extends string | number>(name: N, payload?: QueryMap[N]["payload"], opts?: {
|
|
11
20
|
persistent: boolean;
|
|
12
21
|
}) => {
|
package/dist/useQuery.js
CHANGED
|
@@ -49,6 +49,15 @@ export const useQueries = (name, payloads, opts) => {
|
|
|
49
49
|
useEffect(() => { }, [key]);
|
|
50
50
|
return Array(payloads.length).fill({ loading: true });
|
|
51
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
Hook to observe data
|
|
54
|
+
|
|
55
|
+
```javascript
|
|
56
|
+
const { data, error, loading } = useQuery('db', {
|
|
57
|
+
children: { $list: true, id: true, name: true },
|
|
58
|
+
})
|
|
59
|
+
```
|
|
60
|
+
*/
|
|
52
61
|
export const useQuery = (name, payload, opts) => {
|
|
53
62
|
const client = useContext(Ctx);
|
|
54
63
|
if (client && name) {
|
package/dist/useQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
|