@faasjs/react 0.0.3-beta.2 → 0.0.3-beta.20
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 +11 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -4
- package/dist/index.mjs +17 -5
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -134,7 +134,7 @@ ___
|
|
|
134
134
|
| Name | Type |
|
|
135
135
|
| :------ | :------ |
|
|
136
136
|
| `faas` | <PathOrData\>(`action`: `string` \| `PathOrData`, `params`: [`FaasParams`](#faasparams)<`PathOrData`\>) => `Promise`<[`Response`](classes/Response.md)<[`FaasData`](#faasdata)<`PathOrData`\>\>\> |
|
|
137
|
-
| `useFaas` | <PathOrData\>(`action`: `string` \| `PathOrData`, `defaultParams`: [`FaasParams`](#faasparams)<`PathOrData`\>) => [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\> |
|
|
137
|
+
| `useFaas` | <PathOrData\>(`action`: `string` \| `PathOrData`, `defaultParams`: [`FaasParams`](#faasparams)<`PathOrData`\>, `options?`: { `data?`: [`FaasData`](#faasdata)<`PathOrData`\> ; `setData?`: `React.Dispatch`<`React.SetStateAction`<[`FaasData`](#faasdata)<`PathOrData`\>\>\> ; `skip?`: `boolean` }) => [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\> |
|
|
138
138
|
| `FaasDataWrapper` | <PathOrData\>(`props`: [`FaasDataWrapperProps`](#faasdatawrapperprops)<`PathOrData`\>) => `Element` |
|
|
139
139
|
|
|
140
140
|
___
|
|
@@ -194,7 +194,7 @@ ___
|
|
|
194
194
|
|
|
195
195
|
### FaasReactClient
|
|
196
196
|
|
|
197
|
-
▸ **FaasReactClient**(
|
|
197
|
+
▸ **FaasReactClient**(`«destructured»`): [`FaasReactClientInstance`](#faasreactclientinstance)
|
|
198
198
|
|
|
199
199
|
Before use faas, you should initialize a FaasReactClient.
|
|
200
200
|
|
|
@@ -202,10 +202,10 @@ Before use faas, you should initialize a FaasReactClient.
|
|
|
202
202
|
|
|
203
203
|
| Name | Type |
|
|
204
204
|
| :------ | :------ |
|
|
205
|
-
|
|
|
206
|
-
| `
|
|
207
|
-
| `
|
|
208
|
-
| `
|
|
205
|
+
| `«destructured»` | `Object` |
|
|
206
|
+
| › `domain` | `string` |
|
|
207
|
+
| › `onError?` | (`action`: `string`, `params`: `Record`<`string`, `any`\>) => (`res`: [`ResponseError`](classes/ResponseError.md)) => `Promise`<`void`\> |
|
|
208
|
+
| › `options?` | [`Options`](#options) |
|
|
209
209
|
|
|
210
210
|
#### Returns
|
|
211
211
|
|
|
@@ -276,7 +276,7 @@ ___
|
|
|
276
276
|
|
|
277
277
|
### useFaas
|
|
278
278
|
|
|
279
|
-
▸ **useFaas**<`PathOrData`\>(`action`, `defaultParams`): [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\>
|
|
279
|
+
▸ **useFaas**<`PathOrData`\>(`action`, `defaultParams`, `options?`): [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\>
|
|
280
280
|
|
|
281
281
|
Request faas server with React hook
|
|
282
282
|
|
|
@@ -292,6 +292,10 @@ Request faas server with React hook
|
|
|
292
292
|
| :------ | :------ | :------ |
|
|
293
293
|
| `action` | `string` \| `PathOrData` | {string} action name |
|
|
294
294
|
| `defaultParams` | [`FaasParams`](#faasparams)<`PathOrData`\> | {object} initial action params |
|
|
295
|
+
| `options?` | `Object` | - |
|
|
296
|
+
| `options.data?` | [`FaasData`](#faasdata)<`PathOrData`\> | - |
|
|
297
|
+
| `options.setData?` | `Dispatch`<`SetStateAction`<[`FaasData`](#faasdata)<`PathOrData`\>\>\> | - |
|
|
298
|
+
| `options.skip?` | `boolean` | - |
|
|
295
299
|
|
|
296
300
|
#### Returns
|
|
297
301
|
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ type FaasDataInjection<Data = any> = {
|
|
|
21
21
|
};
|
|
22
22
|
type FaasDataWrapperProps<PathOrData extends FaasAction> = {
|
|
23
23
|
render?(args: FaasDataInjection<FaasData<PathOrData>>): JSX.Element | JSX.Element[];
|
|
24
|
+
children?: JSX.Element;
|
|
24
25
|
fallback?: JSX.Element | false;
|
|
25
26
|
action: string;
|
|
26
27
|
params?: FaasParams<PathOrData>;
|
package/dist/index.js
CHANGED
|
@@ -64,9 +64,12 @@ function FaasReactClient({
|
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
setLoading(true);
|
|
67
|
-
const
|
|
67
|
+
const controller = new AbortController();
|
|
68
|
+
const request = client.action(action, params, { signal: controller.signal });
|
|
68
69
|
setPromise(request);
|
|
69
70
|
request.then((r) => (options2 == null ? void 0 : options2.setData) ? options2.setData(r.data) : setData(r.data)).catch(async (e) => {
|
|
71
|
+
if ((e == null ? void 0 : e.message) === "The user aborted a request.")
|
|
72
|
+
return;
|
|
70
73
|
if (onError)
|
|
71
74
|
try {
|
|
72
75
|
await onError(action, params)(e);
|
|
@@ -77,7 +80,10 @@ function FaasReactClient({
|
|
|
77
80
|
setError(e);
|
|
78
81
|
return Promise.reject(e);
|
|
79
82
|
}).finally(() => setLoading(false));
|
|
80
|
-
return () =>
|
|
83
|
+
return () => {
|
|
84
|
+
controller.abort();
|
|
85
|
+
setLoading(false);
|
|
86
|
+
};
|
|
81
87
|
}, [
|
|
82
88
|
action,
|
|
83
89
|
JSON.stringify(params),
|
|
@@ -111,6 +117,7 @@ function FaasReactClient({
|
|
|
111
117
|
params,
|
|
112
118
|
fallback,
|
|
113
119
|
render,
|
|
120
|
+
children,
|
|
114
121
|
onDataChange,
|
|
115
122
|
data,
|
|
116
123
|
setData
|
|
@@ -128,8 +135,12 @@ function FaasReactClient({
|
|
|
128
135
|
if (onDataChange)
|
|
129
136
|
onDataChange(request);
|
|
130
137
|
}, [JSON.stringify(request.data)]);
|
|
131
|
-
if (loaded)
|
|
132
|
-
|
|
138
|
+
if (loaded) {
|
|
139
|
+
if (children)
|
|
140
|
+
return (0, import_react.cloneElement)(children, request);
|
|
141
|
+
if (render)
|
|
142
|
+
return render(request);
|
|
143
|
+
}
|
|
133
144
|
return fallback || null;
|
|
134
145
|
}
|
|
135
146
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
useState,
|
|
7
7
|
useEffect,
|
|
8
|
-
createElement
|
|
8
|
+
createElement,
|
|
9
|
+
cloneElement
|
|
9
10
|
} from "react";
|
|
10
11
|
var clients = {};
|
|
11
12
|
function FaasReactClient({
|
|
@@ -42,9 +43,12 @@ function FaasReactClient({
|
|
|
42
43
|
return;
|
|
43
44
|
}
|
|
44
45
|
setLoading(true);
|
|
45
|
-
const
|
|
46
|
+
const controller = new AbortController();
|
|
47
|
+
const request = client.action(action, params, { signal: controller.signal });
|
|
46
48
|
setPromise(request);
|
|
47
49
|
request.then((r) => (options2 == null ? void 0 : options2.setData) ? options2.setData(r.data) : setData(r.data)).catch(async (e) => {
|
|
50
|
+
if ((e == null ? void 0 : e.message) === "The user aborted a request.")
|
|
51
|
+
return;
|
|
48
52
|
if (onError)
|
|
49
53
|
try {
|
|
50
54
|
await onError(action, params)(e);
|
|
@@ -55,7 +59,10 @@ function FaasReactClient({
|
|
|
55
59
|
setError(e);
|
|
56
60
|
return Promise.reject(e);
|
|
57
61
|
}).finally(() => setLoading(false));
|
|
58
|
-
return () =>
|
|
62
|
+
return () => {
|
|
63
|
+
controller.abort();
|
|
64
|
+
setLoading(false);
|
|
65
|
+
};
|
|
59
66
|
}, [
|
|
60
67
|
action,
|
|
61
68
|
JSON.stringify(params),
|
|
@@ -89,6 +96,7 @@ function FaasReactClient({
|
|
|
89
96
|
params,
|
|
90
97
|
fallback,
|
|
91
98
|
render,
|
|
99
|
+
children,
|
|
92
100
|
onDataChange,
|
|
93
101
|
data,
|
|
94
102
|
setData
|
|
@@ -106,8 +114,12 @@ function FaasReactClient({
|
|
|
106
114
|
if (onDataChange)
|
|
107
115
|
onDataChange(request);
|
|
108
116
|
}, [JSON.stringify(request.data)]);
|
|
109
|
-
if (loaded)
|
|
110
|
-
|
|
117
|
+
if (loaded) {
|
|
118
|
+
if (children)
|
|
119
|
+
return cloneElement(children, request);
|
|
120
|
+
if (render)
|
|
121
|
+
return render(request);
|
|
122
|
+
}
|
|
111
123
|
return fallback || null;
|
|
112
124
|
}
|
|
113
125
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faasjs/react",
|
|
3
|
-
"version": "0.0.3-beta.
|
|
3
|
+
"version": "0.0.3-beta.20",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dist"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@faasjs/browser": "^0.0.3-beta.
|
|
27
|
-
"@faasjs/types": "^0.0.3-beta.
|
|
26
|
+
"@faasjs/browser": "^0.0.3-beta.20",
|
|
27
|
+
"@faasjs/types": "^0.0.3-beta.20",
|
|
28
28
|
"react": "*"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|