@faasjs/react 3.0.0-canary.3 → 3.0.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.d.mts +79 -95
- package/dist/index.d.ts +79 -95
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FaasAction,
|
|
1
|
+
import { FaasAction, FaasData, FaasParams } from '@faasjs/types';
|
|
2
2
|
export { FaasAction, FaasData, FaasParams } from '@faasjs/types';
|
|
3
|
-
import {
|
|
3
|
+
import { Response, ResponseError, BaseUrl, Options, FaasBrowserClient } from '@faasjs/browser';
|
|
4
4
|
export { Options, Response, ResponseError, ResponseHeaders } from '@faasjs/browser';
|
|
5
5
|
import * as react from 'react';
|
|
6
6
|
import { ReactNode, ReactElement, Component, ComponentType, ComponentProps } from 'react';
|
|
@@ -68,76 +68,94 @@ declare function createSplittingContext<T extends Record<string, any>>(defaultVa
|
|
|
68
68
|
use: () => Readonly<T>;
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
-
type FaasReactClientInstance = {
|
|
72
|
-
id: string
|
|
73
|
-
faas: <PathOrData extends FaasAction>(
|
|
74
|
-
action: string | PathOrData,
|
|
75
|
-
params: FaasParams<PathOrData>,
|
|
76
|
-
options?: Options
|
|
77
|
-
) => Promise<Response<FaasData<PathOrData>>>
|
|
78
|
-
useFaas: <PathOrData extends FaasAction>(
|
|
79
|
-
action: string | PathOrData,
|
|
80
|
-
defaultParams: FaasParams<PathOrData>,
|
|
81
|
-
options?: useFaasOptions<PathOrData>
|
|
82
|
-
) => FaasDataInjection<FaasData<PathOrData>>
|
|
83
|
-
FaasDataWrapper<PathOrData extends FaasAction>(
|
|
84
|
-
props: FaasDataWrapperProps<PathOrData>
|
|
85
|
-
): JSX.Element
|
|
86
|
-
onError: OnError
|
|
87
|
-
browserClient: FaasBrowserClient
|
|
88
|
-
}
|
|
89
|
-
|
|
90
71
|
/**
|
|
91
72
|
* Injects FaasData props.
|
|
92
73
|
*/
|
|
93
|
-
type FaasDataInjection<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
74
|
+
type FaasDataInjection<PathOrData extends FaasAction = any> = {
|
|
75
|
+
action: PathOrData | string;
|
|
76
|
+
params: Record<string, any>;
|
|
77
|
+
loading: boolean;
|
|
78
|
+
reloadTimes: number;
|
|
79
|
+
data: FaasData<PathOrData>;
|
|
80
|
+
error: any;
|
|
81
|
+
promise: Promise<Response<FaasData<PathOrData>>>;
|
|
82
|
+
reload(params?: Record<string, any>): Promise<Response<PathOrData>>;
|
|
83
|
+
setData: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
84
|
+
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
|
|
85
|
+
setPromise: React.Dispatch<React.SetStateAction<Promise<Response<FaasData<PathOrData>>>>>;
|
|
86
|
+
setError: React.Dispatch<React.SetStateAction<any>>;
|
|
87
|
+
};
|
|
108
88
|
type FaasDataWrapperProps<PathOrData extends FaasAction> = {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
89
|
+
render?(args: FaasDataInjection<PathOrData>): JSX.Element | JSX.Element[];
|
|
90
|
+
children?: React.ReactElement<Partial<FaasDataInjection<PathOrData>>>;
|
|
91
|
+
fallback?: JSX.Element | false;
|
|
92
|
+
action: PathOrData | string;
|
|
93
|
+
params?: FaasParams<PathOrData>;
|
|
94
|
+
onDataChange?(args: FaasDataInjection<PathOrData>): void;
|
|
95
|
+
/** use custom data, should work with setData */
|
|
96
|
+
data?: FaasData<PathOrData>;
|
|
97
|
+
/** use custom setData, should work with data */
|
|
98
|
+
setData?: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
99
|
+
baseUrl?: string;
|
|
100
|
+
};
|
|
101
|
+
declare function FaasDataWrapper<PathOrData extends FaasAction>({ action, params, fallback, render, children, onDataChange, data, setData, baseUrl, }: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
102
|
+
declare namespace FaasDataWrapper {
|
|
103
|
+
var whyDidYouRender: boolean;
|
|
122
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* HOC to wrap a component with FaasDataWrapper
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```tsx
|
|
110
|
+
* const MyComponent = withFaasData(({ data }) => <div>{data.name}</div>, { action: 'test', params: { a: 1 } })
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
declare function withFaasData<PathOrData extends FaasAction, TComponentProps extends FaasDataInjection<PathOrData> = FaasDataInjection<PathOrData>>(Component: React.FC<TComponentProps & Record<string, any>>, faasProps: FaasDataWrapperProps<PathOrData>): React.FC<Omit<TComponentProps, keyof FaasDataInjection<PathOrData>> & Record<string, any>>;
|
|
123
114
|
|
|
124
115
|
type useFaasOptions<PathOrData extends FaasAction> = {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
116
|
+
params?: FaasParams<PathOrData>;
|
|
117
|
+
data?: FaasData<PathOrData>;
|
|
118
|
+
setData?: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
119
|
+
/** if skip is true, will not send request */
|
|
120
|
+
skip?: boolean | ((params: FaasParams<PathOrData>) => boolean);
|
|
121
|
+
/** send the last request after milliseconds */
|
|
122
|
+
debounce?: number;
|
|
123
|
+
baseUrl?: string;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Request faas server with React hook
|
|
127
|
+
*
|
|
128
|
+
* @param action {string} action name
|
|
129
|
+
* @param defaultParams {object} initial action params
|
|
130
|
+
* @returns {FaasDataInjection<any>}
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* function Post ({ id }) {
|
|
135
|
+
* const { data } = useFaas<{ title: string }>('post/get', { id })
|
|
136
|
+
* return <h1>{data.title}</h1>
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare function useFaas<PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>): FaasDataInjection<PathOrData>;
|
|
141
|
+
declare namespace useFaas {
|
|
142
|
+
var whyDidYouRender: boolean;
|
|
133
143
|
}
|
|
134
144
|
|
|
135
|
-
type OnError
|
|
145
|
+
type OnError = (action: string, params: Record<string, any>) => (res: ResponseError) => Promise<void>;
|
|
136
146
|
type FaasReactClientOptions = {
|
|
137
147
|
/** @default `/` */
|
|
138
148
|
baseUrl?: BaseUrl;
|
|
139
149
|
options?: Options;
|
|
140
|
-
onError?: OnError
|
|
150
|
+
onError?: OnError;
|
|
151
|
+
};
|
|
152
|
+
type FaasReactClientInstance = {
|
|
153
|
+
id: string;
|
|
154
|
+
faas: <PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options) => Promise<Response<FaasData<PathOrData>>>;
|
|
155
|
+
useFaas: <PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>) => FaasDataInjection<PathOrData>;
|
|
156
|
+
FaasDataWrapper<PathOrData extends FaasAction>(props: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
157
|
+
onError: OnError;
|
|
158
|
+
browserClient: FaasBrowserClient;
|
|
141
159
|
};
|
|
142
160
|
/**
|
|
143
161
|
* Before use faas, you should initialize a FaasReactClient.
|
|
@@ -183,7 +201,7 @@ declare function getClient(host?: string): FaasReactClientInstance;
|
|
|
183
201
|
* })
|
|
184
202
|
* ```
|
|
185
203
|
*/
|
|
186
|
-
declare function faas<PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options): Promise<Response
|
|
204
|
+
declare function faas<PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options): Promise<Response<FaasData<PathOrData>>>;
|
|
187
205
|
|
|
188
206
|
interface ErrorBoundaryProps {
|
|
189
207
|
children?: ReactNode;
|
|
@@ -208,20 +226,6 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, {
|
|
|
208
226
|
render(): string | number | boolean | Iterable<ReactNode> | react_jsx_runtime.JSX.Element;
|
|
209
227
|
}
|
|
210
228
|
|
|
211
|
-
declare function FaasDataWrapper<PathOrData extends FaasAction>({ action, params, fallback, render, children, onDataChange, data, setData, baseUrl, }: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
212
|
-
declare namespace FaasDataWrapper {
|
|
213
|
-
var whyDidYouRender: boolean;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* HOC to wrap a component with FaasDataWrapper
|
|
217
|
-
*
|
|
218
|
-
* @example
|
|
219
|
-
* ```tsx
|
|
220
|
-
* const MyComponent = withFaasData(({ data }) => <div>{data.name}</div>, { action: 'test', params: { a: 1 } })
|
|
221
|
-
* ```
|
|
222
|
-
*/
|
|
223
|
-
declare function withFaasData<PathOrData extends FaasAction, TComponentProps extends FaasDataInjection<PathOrData> = FaasDataInjection<PathOrData>>(Component: React.FC<TComponentProps & Record<string, any>>, faasProps: FaasDataWrapperProps<PathOrData>): React.FC<Omit<TComponentProps, keyof FaasDataInjection> & Record<string, any>>;
|
|
224
|
-
|
|
225
229
|
type OptionalWrapperProps<TWrapper extends ComponentType<{
|
|
226
230
|
children: ReactNode;
|
|
227
231
|
}> = any> = {
|
|
@@ -252,24 +256,4 @@ declare const OptionalWrapper: React.FC<OptionalWrapperProps> & {
|
|
|
252
256
|
whyDidYouRender: boolean;
|
|
253
257
|
};
|
|
254
258
|
|
|
255
|
-
|
|
256
|
-
* Request faas server with React hook
|
|
257
|
-
*
|
|
258
|
-
* @param action {string} action name
|
|
259
|
-
* @param defaultParams {object} initial action params
|
|
260
|
-
* @returns {FaasDataInjection<any>}
|
|
261
|
-
*
|
|
262
|
-
* @example
|
|
263
|
-
* ```tsx
|
|
264
|
-
* function Post ({ id }) {
|
|
265
|
-
* const { data } = useFaas<{ title: string }>('post/get', { id })
|
|
266
|
-
* return <h1>{data.title}</h1>
|
|
267
|
-
* }
|
|
268
|
-
* ```
|
|
269
|
-
*/
|
|
270
|
-
declare function useFaas<PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>): FaasDataInjection<FaasData<PathOrData>>;
|
|
271
|
-
declare namespace useFaas {
|
|
272
|
-
var whyDidYouRender: boolean;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export { ErrorBoundary, type ErrorBoundaryProps, type ErrorChildrenProps, type FaasDataInjection, FaasDataWrapper, type FaasDataWrapperProps, FaasReactClient, type FaasReactClientInstance, type FaasReactClientOptions, type OnError$1 as OnError, OptionalWrapper, type OptionalWrapperProps, createSplittingContext, faas, getClient, useConstant, useFaas, type useFaasOptions, withFaasData };
|
|
259
|
+
export { ErrorBoundary, type ErrorBoundaryProps, type ErrorChildrenProps, type FaasDataInjection, FaasDataWrapper, type FaasDataWrapperProps, FaasReactClient, type FaasReactClientInstance, type FaasReactClientOptions, type OnError, OptionalWrapper, type OptionalWrapperProps, createSplittingContext, faas, getClient, useConstant, useFaas, type useFaasOptions, withFaasData };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FaasAction,
|
|
1
|
+
import { FaasAction, FaasData, FaasParams } from '@faasjs/types';
|
|
2
2
|
export { FaasAction, FaasData, FaasParams } from '@faasjs/types';
|
|
3
|
-
import {
|
|
3
|
+
import { Response, ResponseError, BaseUrl, Options, FaasBrowserClient } from '@faasjs/browser';
|
|
4
4
|
export { Options, Response, ResponseError, ResponseHeaders } from '@faasjs/browser';
|
|
5
5
|
import * as react from 'react';
|
|
6
6
|
import { ReactNode, ReactElement, Component, ComponentType, ComponentProps } from 'react';
|
|
@@ -68,76 +68,94 @@ declare function createSplittingContext<T extends Record<string, any>>(defaultVa
|
|
|
68
68
|
use: () => Readonly<T>;
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
-
type FaasReactClientInstance = {
|
|
72
|
-
id: string
|
|
73
|
-
faas: <PathOrData extends FaasAction>(
|
|
74
|
-
action: string | PathOrData,
|
|
75
|
-
params: FaasParams<PathOrData>,
|
|
76
|
-
options?: Options
|
|
77
|
-
) => Promise<Response<FaasData<PathOrData>>>
|
|
78
|
-
useFaas: <PathOrData extends FaasAction>(
|
|
79
|
-
action: string | PathOrData,
|
|
80
|
-
defaultParams: FaasParams<PathOrData>,
|
|
81
|
-
options?: useFaasOptions<PathOrData>
|
|
82
|
-
) => FaasDataInjection<FaasData<PathOrData>>
|
|
83
|
-
FaasDataWrapper<PathOrData extends FaasAction>(
|
|
84
|
-
props: FaasDataWrapperProps<PathOrData>
|
|
85
|
-
): JSX.Element
|
|
86
|
-
onError: OnError
|
|
87
|
-
browserClient: FaasBrowserClient
|
|
88
|
-
}
|
|
89
|
-
|
|
90
71
|
/**
|
|
91
72
|
* Injects FaasData props.
|
|
92
73
|
*/
|
|
93
|
-
type FaasDataInjection<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
74
|
+
type FaasDataInjection<PathOrData extends FaasAction = any> = {
|
|
75
|
+
action: PathOrData | string;
|
|
76
|
+
params: Record<string, any>;
|
|
77
|
+
loading: boolean;
|
|
78
|
+
reloadTimes: number;
|
|
79
|
+
data: FaasData<PathOrData>;
|
|
80
|
+
error: any;
|
|
81
|
+
promise: Promise<Response<FaasData<PathOrData>>>;
|
|
82
|
+
reload(params?: Record<string, any>): Promise<Response<PathOrData>>;
|
|
83
|
+
setData: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
84
|
+
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
|
|
85
|
+
setPromise: React.Dispatch<React.SetStateAction<Promise<Response<FaasData<PathOrData>>>>>;
|
|
86
|
+
setError: React.Dispatch<React.SetStateAction<any>>;
|
|
87
|
+
};
|
|
108
88
|
type FaasDataWrapperProps<PathOrData extends FaasAction> = {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
89
|
+
render?(args: FaasDataInjection<PathOrData>): JSX.Element | JSX.Element[];
|
|
90
|
+
children?: React.ReactElement<Partial<FaasDataInjection<PathOrData>>>;
|
|
91
|
+
fallback?: JSX.Element | false;
|
|
92
|
+
action: PathOrData | string;
|
|
93
|
+
params?: FaasParams<PathOrData>;
|
|
94
|
+
onDataChange?(args: FaasDataInjection<PathOrData>): void;
|
|
95
|
+
/** use custom data, should work with setData */
|
|
96
|
+
data?: FaasData<PathOrData>;
|
|
97
|
+
/** use custom setData, should work with data */
|
|
98
|
+
setData?: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
99
|
+
baseUrl?: string;
|
|
100
|
+
};
|
|
101
|
+
declare function FaasDataWrapper<PathOrData extends FaasAction>({ action, params, fallback, render, children, onDataChange, data, setData, baseUrl, }: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
102
|
+
declare namespace FaasDataWrapper {
|
|
103
|
+
var whyDidYouRender: boolean;
|
|
122
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* HOC to wrap a component with FaasDataWrapper
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```tsx
|
|
110
|
+
* const MyComponent = withFaasData(({ data }) => <div>{data.name}</div>, { action: 'test', params: { a: 1 } })
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
declare function withFaasData<PathOrData extends FaasAction, TComponentProps extends FaasDataInjection<PathOrData> = FaasDataInjection<PathOrData>>(Component: React.FC<TComponentProps & Record<string, any>>, faasProps: FaasDataWrapperProps<PathOrData>): React.FC<Omit<TComponentProps, keyof FaasDataInjection<PathOrData>> & Record<string, any>>;
|
|
123
114
|
|
|
124
115
|
type useFaasOptions<PathOrData extends FaasAction> = {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
116
|
+
params?: FaasParams<PathOrData>;
|
|
117
|
+
data?: FaasData<PathOrData>;
|
|
118
|
+
setData?: React.Dispatch<React.SetStateAction<FaasData<PathOrData>>>;
|
|
119
|
+
/** if skip is true, will not send request */
|
|
120
|
+
skip?: boolean | ((params: FaasParams<PathOrData>) => boolean);
|
|
121
|
+
/** send the last request after milliseconds */
|
|
122
|
+
debounce?: number;
|
|
123
|
+
baseUrl?: string;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Request faas server with React hook
|
|
127
|
+
*
|
|
128
|
+
* @param action {string} action name
|
|
129
|
+
* @param defaultParams {object} initial action params
|
|
130
|
+
* @returns {FaasDataInjection<any>}
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```tsx
|
|
134
|
+
* function Post ({ id }) {
|
|
135
|
+
* const { data } = useFaas<{ title: string }>('post/get', { id })
|
|
136
|
+
* return <h1>{data.title}</h1>
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare function useFaas<PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>): FaasDataInjection<PathOrData>;
|
|
141
|
+
declare namespace useFaas {
|
|
142
|
+
var whyDidYouRender: boolean;
|
|
133
143
|
}
|
|
134
144
|
|
|
135
|
-
type OnError
|
|
145
|
+
type OnError = (action: string, params: Record<string, any>) => (res: ResponseError) => Promise<void>;
|
|
136
146
|
type FaasReactClientOptions = {
|
|
137
147
|
/** @default `/` */
|
|
138
148
|
baseUrl?: BaseUrl;
|
|
139
149
|
options?: Options;
|
|
140
|
-
onError?: OnError
|
|
150
|
+
onError?: OnError;
|
|
151
|
+
};
|
|
152
|
+
type FaasReactClientInstance = {
|
|
153
|
+
id: string;
|
|
154
|
+
faas: <PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options) => Promise<Response<FaasData<PathOrData>>>;
|
|
155
|
+
useFaas: <PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>) => FaasDataInjection<PathOrData>;
|
|
156
|
+
FaasDataWrapper<PathOrData extends FaasAction>(props: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
157
|
+
onError: OnError;
|
|
158
|
+
browserClient: FaasBrowserClient;
|
|
141
159
|
};
|
|
142
160
|
/**
|
|
143
161
|
* Before use faas, you should initialize a FaasReactClient.
|
|
@@ -183,7 +201,7 @@ declare function getClient(host?: string): FaasReactClientInstance;
|
|
|
183
201
|
* })
|
|
184
202
|
* ```
|
|
185
203
|
*/
|
|
186
|
-
declare function faas<PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options): Promise<Response
|
|
204
|
+
declare function faas<PathOrData extends FaasAction>(action: PathOrData | string, params: FaasParams<PathOrData>, options?: Options): Promise<Response<FaasData<PathOrData>>>;
|
|
187
205
|
|
|
188
206
|
interface ErrorBoundaryProps {
|
|
189
207
|
children?: ReactNode;
|
|
@@ -208,20 +226,6 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, {
|
|
|
208
226
|
render(): string | number | boolean | Iterable<ReactNode> | react_jsx_runtime.JSX.Element;
|
|
209
227
|
}
|
|
210
228
|
|
|
211
|
-
declare function FaasDataWrapper<PathOrData extends FaasAction>({ action, params, fallback, render, children, onDataChange, data, setData, baseUrl, }: FaasDataWrapperProps<PathOrData>): JSX.Element;
|
|
212
|
-
declare namespace FaasDataWrapper {
|
|
213
|
-
var whyDidYouRender: boolean;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* HOC to wrap a component with FaasDataWrapper
|
|
217
|
-
*
|
|
218
|
-
* @example
|
|
219
|
-
* ```tsx
|
|
220
|
-
* const MyComponent = withFaasData(({ data }) => <div>{data.name}</div>, { action: 'test', params: { a: 1 } })
|
|
221
|
-
* ```
|
|
222
|
-
*/
|
|
223
|
-
declare function withFaasData<PathOrData extends FaasAction, TComponentProps extends FaasDataInjection<PathOrData> = FaasDataInjection<PathOrData>>(Component: React.FC<TComponentProps & Record<string, any>>, faasProps: FaasDataWrapperProps<PathOrData>): React.FC<Omit<TComponentProps, keyof FaasDataInjection> & Record<string, any>>;
|
|
224
|
-
|
|
225
229
|
type OptionalWrapperProps<TWrapper extends ComponentType<{
|
|
226
230
|
children: ReactNode;
|
|
227
231
|
}> = any> = {
|
|
@@ -252,24 +256,4 @@ declare const OptionalWrapper: React.FC<OptionalWrapperProps> & {
|
|
|
252
256
|
whyDidYouRender: boolean;
|
|
253
257
|
};
|
|
254
258
|
|
|
255
|
-
|
|
256
|
-
* Request faas server with React hook
|
|
257
|
-
*
|
|
258
|
-
* @param action {string} action name
|
|
259
|
-
* @param defaultParams {object} initial action params
|
|
260
|
-
* @returns {FaasDataInjection<any>}
|
|
261
|
-
*
|
|
262
|
-
* @example
|
|
263
|
-
* ```tsx
|
|
264
|
-
* function Post ({ id }) {
|
|
265
|
-
* const { data } = useFaas<{ title: string }>('post/get', { id })
|
|
266
|
-
* return <h1>{data.title}</h1>
|
|
267
|
-
* }
|
|
268
|
-
* ```
|
|
269
|
-
*/
|
|
270
|
-
declare function useFaas<PathOrData extends FaasAction>(action: PathOrData | string, defaultParams: FaasParams<PathOrData>, options?: useFaasOptions<PathOrData>): FaasDataInjection<FaasData<PathOrData>>;
|
|
271
|
-
declare namespace useFaas {
|
|
272
|
-
var whyDidYouRender: boolean;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export { ErrorBoundary, type ErrorBoundaryProps, type ErrorChildrenProps, type FaasDataInjection, FaasDataWrapper, type FaasDataWrapperProps, FaasReactClient, type FaasReactClientInstance, type FaasReactClientOptions, type OnError$1 as OnError, OptionalWrapper, type OptionalWrapperProps, createSplittingContext, faas, getClient, useConstant, useFaas, type useFaasOptions, withFaasData };
|
|
259
|
+
export { ErrorBoundary, type ErrorBoundaryProps, type ErrorChildrenProps, type FaasDataInjection, FaasDataWrapper, type FaasDataWrapperProps, FaasReactClient, type FaasReactClientInstance, type FaasReactClientOptions, type OnError, OptionalWrapper, type OptionalWrapperProps, createSplittingContext, faas, getClient, useConstant, useFaas, type useFaasOptions, withFaasData };
|
package/dist/index.js
CHANGED
|
@@ -201,8 +201,8 @@ function FaasReactClient({ baseUrl, options, onError } = {
|
|
|
201
201
|
const client = new browser.FaasBrowserClient(baseUrl, options);
|
|
202
202
|
const reactClient = {
|
|
203
203
|
id: client.id,
|
|
204
|
-
faas: async (action, params, options2) => faas(action, params, options2),
|
|
205
|
-
useFaas: (action, defaultParams, options2) => useFaas(action, defaultParams, options2),
|
|
204
|
+
faas: async (action, params, options2) => faas(action, params, { baseUrl, ...options2 }),
|
|
205
|
+
useFaas: (action, defaultParams, options2) => useFaas(action, defaultParams, { baseUrl, ...options2 }),
|
|
206
206
|
FaasDataWrapper: (props) => /* @__PURE__ */ jsxRuntime.jsx(FaasDataWrapper, { baseUrl, ...props }),
|
|
207
207
|
onError,
|
|
208
208
|
browserClient: client
|
package/dist/index.mjs
CHANGED
|
@@ -199,8 +199,8 @@ function FaasReactClient({ baseUrl, options, onError } = {
|
|
|
199
199
|
const client = new FaasBrowserClient(baseUrl, options);
|
|
200
200
|
const reactClient = {
|
|
201
201
|
id: client.id,
|
|
202
|
-
faas: async (action, params, options2) => faas(action, params, options2),
|
|
203
|
-
useFaas: (action, defaultParams, options2) => useFaas(action, defaultParams, options2),
|
|
202
|
+
faas: async (action, params, options2) => faas(action, params, { baseUrl, ...options2 }),
|
|
203
|
+
useFaas: (action, defaultParams, options2) => useFaas(action, defaultParams, { baseUrl, ...options2 }),
|
|
204
204
|
FaasDataWrapper: (props) => /* @__PURE__ */ jsx(FaasDataWrapper, { baseUrl, ...props }),
|
|
205
205
|
onError,
|
|
206
206
|
browserClient: client
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faasjs/react",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dist"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@faasjs/browser": "3.0.0
|
|
37
|
+
"@faasjs/browser": "3.0.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"react": "*"
|