@faasjs/react 0.0.3-beta.3 → 0.0.3-beta.31
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 +12 -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
|
@@ -104,6 +104,7 @@ ___
|
|
|
104
104
|
| Name | Type | Description |
|
|
105
105
|
| :------ | :------ | :------ |
|
|
106
106
|
| `action` | `string` | - |
|
|
107
|
+
| `children?` | `JSX.Element` | - |
|
|
107
108
|
| `data?` | [`FaasData`](#faasdata)<`PathOrData`\> | use custom data, should work with setData |
|
|
108
109
|
| `fallback?` | `JSX.Element` \| ``false`` | - |
|
|
109
110
|
| `params?` | [`FaasParams`](#faasparams)<`PathOrData`\> | - |
|
|
@@ -134,7 +135,7 @@ ___
|
|
|
134
135
|
| Name | Type |
|
|
135
136
|
| :------ | :------ |
|
|
136
137
|
| `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`\>\> |
|
|
138
|
+
| `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
139
|
| `FaasDataWrapper` | <PathOrData\>(`props`: [`FaasDataWrapperProps`](#faasdatawrapperprops)<`PathOrData`\>) => `Element` |
|
|
139
140
|
|
|
140
141
|
___
|
|
@@ -194,7 +195,7 @@ ___
|
|
|
194
195
|
|
|
195
196
|
### FaasReactClient
|
|
196
197
|
|
|
197
|
-
▸ **FaasReactClient**(
|
|
198
|
+
▸ **FaasReactClient**(`«destructured»`): [`FaasReactClientInstance`](#faasreactclientinstance)
|
|
198
199
|
|
|
199
200
|
Before use faas, you should initialize a FaasReactClient.
|
|
200
201
|
|
|
@@ -202,10 +203,10 @@ Before use faas, you should initialize a FaasReactClient.
|
|
|
202
203
|
|
|
203
204
|
| Name | Type |
|
|
204
205
|
| :------ | :------ |
|
|
205
|
-
|
|
|
206
|
-
| `
|
|
207
|
-
| `
|
|
208
|
-
| `
|
|
206
|
+
| `«destructured»` | `Object` |
|
|
207
|
+
| › `domain` | `string` |
|
|
208
|
+
| › `onError?` | (`action`: `string`, `params`: `Record`<`string`, `any`\>) => (`res`: [`ResponseError`](classes/ResponseError.md)) => `Promise`<`void`\> |
|
|
209
|
+
| › `options?` | [`Options`](#options) |
|
|
209
210
|
|
|
210
211
|
#### Returns
|
|
211
212
|
|
|
@@ -276,7 +277,7 @@ ___
|
|
|
276
277
|
|
|
277
278
|
### useFaas
|
|
278
279
|
|
|
279
|
-
▸ **useFaas**<`PathOrData`\>(`action`, `defaultParams`): [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\>
|
|
280
|
+
▸ **useFaas**<`PathOrData`\>(`action`, `defaultParams`, `options?`): [`FaasDataInjection`](#faasdatainjection)<[`FaasData`](#faasdata)<`PathOrData`\>\>
|
|
280
281
|
|
|
281
282
|
Request faas server with React hook
|
|
282
283
|
|
|
@@ -292,6 +293,10 @@ Request faas server with React hook
|
|
|
292
293
|
| :------ | :------ | :------ |
|
|
293
294
|
| `action` | `string` \| `PathOrData` | {string} action name |
|
|
294
295
|
| `defaultParams` | [`FaasParams`](#faasparams)<`PathOrData`\> | {object} initial action params |
|
|
296
|
+
| `options?` | `Object` | - |
|
|
297
|
+
| `options.data?` | [`FaasData`](#faasdata)<`PathOrData`\> | - |
|
|
298
|
+
| `options.setData?` | `Dispatch`<`SetStateAction`<[`FaasData`](#faasdata)<`PathOrData`\>\>\> | - |
|
|
299
|
+
| `options.skip?` | `boolean` | - |
|
|
295
300
|
|
|
296
301
|
#### Returns
|
|
297
302
|
|
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.31",
|
|
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.31",
|
|
27
|
+
"@faasjs/types": "^0.0.3-beta.31",
|
|
28
28
|
"react": "*"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|