@finema/core 3.18.0 → 3.19.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/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/helpers/apiBaseHelper.d.ts +2 -0
- package/dist/runtime/helpers/apiBaseHelper.js +20 -0
- package/dist/runtime/helpers/apiListHelper.js +4 -2
- package/dist/runtime/helpers/apiObjectHelper.js +4 -2
- package/dist/runtime/helpers/apiPageHelper.js +19 -11
- package/package.json +1 -1
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -16,6 +16,8 @@ export interface IRequestContext {
|
|
|
16
16
|
export declare const checkExpiration: (timestamp: number | undefined, expire?: number) => boolean;
|
|
17
17
|
export declare const bindParamsToUrl: (urlTemplate: string, urlParams?: Record<string, any>) => string;
|
|
18
18
|
export declare const prepareRequestOptions: (baseOptions?: AxiosRequestConfig, requestOptions?: AxiosRequestConfig, params?: Record<string, any>, signal?: AbortSignal) => AxiosRequestConfig;
|
|
19
|
+
export declare const omitLoaderSignal: <T extends Record<string, any>>(opts: T) => Omit<T, "signal">;
|
|
20
|
+
export declare const toSerializableRequestOptions: (options: AxiosRequestConfig) => Partial<AxiosRequestConfig>;
|
|
19
21
|
export declare const handleApiRequest: <T>(requestContext: IRequestContext, mockData: T | T[] | null, callbacks: {
|
|
20
22
|
onSuccess: (data: T, status?: number) => void;
|
|
21
23
|
onError: (error: any) => void;
|
|
@@ -22,6 +22,26 @@ export const prepareRequestOptions = (baseOptions, requestOptions, params, signa
|
|
|
22
22
|
});
|
|
23
23
|
return options;
|
|
24
24
|
};
|
|
25
|
+
export const omitLoaderSignal = (opts) => {
|
|
26
|
+
const {
|
|
27
|
+
signal: _signal,
|
|
28
|
+
...rest
|
|
29
|
+
} = opts;
|
|
30
|
+
return rest;
|
|
31
|
+
};
|
|
32
|
+
export const toSerializableRequestOptions = (options) => {
|
|
33
|
+
const {
|
|
34
|
+
adapter: _adapter,
|
|
35
|
+
cancelToken: _cancelToken,
|
|
36
|
+
paramsSerializer: _paramsSerializer,
|
|
37
|
+
signal: _signal,
|
|
38
|
+
transformRequest: _transformRequest,
|
|
39
|
+
transformResponse: _transformResponse,
|
|
40
|
+
validateStatus: _validateStatus,
|
|
41
|
+
...serializableOptions
|
|
42
|
+
} = options;
|
|
43
|
+
return JSON.parse(JSON.stringify(serializableOptions));
|
|
44
|
+
};
|
|
25
45
|
const createAbortError = () => ({
|
|
26
46
|
code: "ERR_CANCELED",
|
|
27
47
|
name: "AbortError",
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
checkExpiration,
|
|
4
4
|
prepareRequestOptions,
|
|
5
5
|
handleApiRequest,
|
|
6
|
+
toSerializableRequestOptions,
|
|
6
7
|
updateLoaderState
|
|
7
8
|
} from "./apiBaseHelper.js";
|
|
8
9
|
export const apiListHelper = async (state, onUpdateStatus, onUpdateOptions, onUpdateItems, opts) => {
|
|
@@ -18,6 +19,7 @@ export const apiListHelper = async (state, onUpdateStatus, onUpdateOptions, onUp
|
|
|
18
19
|
opts.params,
|
|
19
20
|
opts.signal
|
|
20
21
|
);
|
|
22
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
21
23
|
const url = bindParamsToUrl(opts.getURL ? opts.getURL(opts) : opts.url, opts.urlBind || {});
|
|
22
24
|
await handleApiRequest(
|
|
23
25
|
{
|
|
@@ -33,14 +35,14 @@ export const apiListHelper = async (state, onUpdateStatus, onUpdateOptions, onUp
|
|
|
33
35
|
onUpdateOptions({
|
|
34
36
|
_timestamp: Date.now(),
|
|
35
37
|
_status: status,
|
|
36
|
-
request:
|
|
38
|
+
request: serializableRequestOptions
|
|
37
39
|
});
|
|
38
40
|
},
|
|
39
41
|
onError: (error) => {
|
|
40
42
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
41
43
|
onUpdateOptions({
|
|
42
44
|
_status: error.response?.status,
|
|
43
|
-
request:
|
|
45
|
+
request: serializableRequestOptions
|
|
44
46
|
});
|
|
45
47
|
},
|
|
46
48
|
onComplete: () => {
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
checkExpiration,
|
|
4
4
|
handleApiRequest,
|
|
5
5
|
prepareRequestOptions,
|
|
6
|
+
toSerializableRequestOptions,
|
|
6
7
|
updateLoaderState
|
|
7
8
|
} from "./apiBaseHelper.js";
|
|
8
9
|
export const apiObjectHelper = async (state, onUpdateStatus, onUpdateOptions, onUpdateData, payload, opts) => {
|
|
@@ -18,6 +19,7 @@ export const apiObjectHelper = async (state, onUpdateStatus, onUpdateOptions, on
|
|
|
18
19
|
opts.params,
|
|
19
20
|
opts.signal
|
|
20
21
|
);
|
|
22
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
21
23
|
const url = bindParamsToUrl(opts.getURL ? opts.getURL(payload, opts) : opts.url, opts.urlBind || {});
|
|
22
24
|
await handleApiRequest(
|
|
23
25
|
{
|
|
@@ -32,7 +34,7 @@ export const apiObjectHelper = async (state, onUpdateStatus, onUpdateOptions, on
|
|
|
32
34
|
onUpdateData(item);
|
|
33
35
|
onUpdateStatus(updateLoaderState.setSuccess(state().status));
|
|
34
36
|
onUpdateOptions({
|
|
35
|
-
request:
|
|
37
|
+
request: serializableRequestOptions,
|
|
36
38
|
_timestamp: Date.now(),
|
|
37
39
|
_status: status
|
|
38
40
|
});
|
|
@@ -40,7 +42,7 @@ export const apiObjectHelper = async (state, onUpdateStatus, onUpdateOptions, on
|
|
|
40
42
|
onError: (error) => {
|
|
41
43
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
42
44
|
onUpdateOptions({
|
|
43
|
-
request:
|
|
45
|
+
request: serializableRequestOptions,
|
|
44
46
|
_status: error.response?.status
|
|
45
47
|
});
|
|
46
48
|
},
|
|
@@ -4,7 +4,9 @@ import { bindParamsToUrl } from "./apiBaseHelper.js";
|
|
|
4
4
|
import {
|
|
5
5
|
checkExpiration,
|
|
6
6
|
handleApiRequest,
|
|
7
|
+
omitLoaderSignal,
|
|
7
8
|
prepareRequestOptions,
|
|
9
|
+
toSerializableRequestOptions,
|
|
8
10
|
updateLoaderState
|
|
9
11
|
} from "./apiBaseHelper.js";
|
|
10
12
|
import { _findIndex, _shuffle } from "#imports";
|
|
@@ -17,6 +19,7 @@ export const apiAddHelper = async (state, onUpdateStatus, onUpdateOptions, onUpd
|
|
|
17
19
|
opts.params,
|
|
18
20
|
opts.signal
|
|
19
21
|
);
|
|
22
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
20
23
|
const url = bindParamsToUrl(opts.add?.getURL ? opts.add.getURL(data, opts) : opts.baseURL, opts.pathBind);
|
|
21
24
|
await handleApiRequest(
|
|
22
25
|
{
|
|
@@ -33,14 +36,14 @@ export const apiAddHelper = async (state, onUpdateStatus, onUpdateOptions, onUpd
|
|
|
33
36
|
onUpdateOptions({
|
|
34
37
|
_timestamp: Date.now(),
|
|
35
38
|
_status: status,
|
|
36
|
-
request:
|
|
39
|
+
request: serializableRequestOptions
|
|
37
40
|
});
|
|
38
41
|
},
|
|
39
42
|
onError: (error) => {
|
|
40
43
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
41
44
|
onUpdateOptions({
|
|
42
45
|
_status: error.response?.status,
|
|
43
|
-
request:
|
|
46
|
+
request: serializableRequestOptions
|
|
44
47
|
});
|
|
45
48
|
},
|
|
46
49
|
onComplete: () => {
|
|
@@ -60,6 +63,7 @@ export const apiDeleteHelper = async (state, onUpdateStatus, onUpdateOptions, _o
|
|
|
60
63
|
opts.params,
|
|
61
64
|
opts.signal
|
|
62
65
|
);
|
|
66
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
63
67
|
const url = bindParamsToUrl(opts.delete?.getURL ? opts.delete.getURL(id, opts) : `${opts.baseURL}/${id}`, opts.pathBind);
|
|
64
68
|
await handleApiRequest(
|
|
65
69
|
{
|
|
@@ -80,14 +84,14 @@ export const apiDeleteHelper = async (state, onUpdateStatus, onUpdateOptions, _o
|
|
|
80
84
|
onUpdateOptions({
|
|
81
85
|
_timestamp: Date.now(),
|
|
82
86
|
_status: status,
|
|
83
|
-
request:
|
|
87
|
+
request: serializableRequestOptions
|
|
84
88
|
});
|
|
85
89
|
},
|
|
86
90
|
onError: (error) => {
|
|
87
91
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
88
92
|
onUpdateOptions({
|
|
89
93
|
_status: error.response?.status,
|
|
90
|
-
request:
|
|
94
|
+
request: serializableRequestOptions
|
|
91
95
|
});
|
|
92
96
|
},
|
|
93
97
|
onComplete: () => {
|
|
@@ -102,10 +106,11 @@ export const apiFetchHelper = async (state, onUpdateStatus, onUpdateOptions, onU
|
|
|
102
106
|
onUpdateStatus(updateLoaderState.setComplete(state().status));
|
|
103
107
|
return;
|
|
104
108
|
}
|
|
109
|
+
const loaderStateOptions = omitLoaderSignal(opts);
|
|
105
110
|
onUpdateStatus(updateLoaderState.setLoading(state().status));
|
|
106
111
|
onUpdateOptions({
|
|
107
112
|
...state().options,
|
|
108
|
-
...
|
|
113
|
+
...loaderStateOptions,
|
|
109
114
|
currentPage: page,
|
|
110
115
|
search: query,
|
|
111
116
|
primary: opts.primary ?? "id",
|
|
@@ -146,6 +151,7 @@ export const apiFetchHelper = async (state, onUpdateStatus, onUpdateOptions, onU
|
|
|
146
151
|
opts.params,
|
|
147
152
|
opts.signal
|
|
148
153
|
);
|
|
154
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
149
155
|
const url = bindParamsToUrl(opts.fetch?.getURL ? opts.fetch.getURL(page, query, opts) : opts.baseURL, opts.pathBind);
|
|
150
156
|
await handleApiRequest(
|
|
151
157
|
{
|
|
@@ -169,7 +175,7 @@ export const apiFetchHelper = async (state, onUpdateStatus, onUpdateOptions, onU
|
|
|
169
175
|
...getOptions(moreOptions),
|
|
170
176
|
_timestamp: Date.now(),
|
|
171
177
|
_status: status,
|
|
172
|
-
request:
|
|
178
|
+
request: serializableRequestOptions
|
|
173
179
|
})));
|
|
174
180
|
onUpdateStatus(updateLoaderState.setSuccess(state().status));
|
|
175
181
|
},
|
|
@@ -178,7 +184,7 @@ export const apiFetchHelper = async (state, onUpdateStatus, onUpdateOptions, onU
|
|
|
178
184
|
onUpdateOptions(JSON.parse(JSON.stringify({
|
|
179
185
|
...state().options,
|
|
180
186
|
_status: error.response?.status,
|
|
181
|
-
request:
|
|
187
|
+
request: serializableRequestOptions
|
|
182
188
|
})));
|
|
183
189
|
},
|
|
184
190
|
onComplete: () => {
|
|
@@ -200,6 +206,7 @@ export const apiFindHelper = async (state, onUpdateStatus, onUpdateOptions, onUp
|
|
|
200
206
|
opts.params,
|
|
201
207
|
opts.signal
|
|
202
208
|
);
|
|
209
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
203
210
|
const url = bindParamsToUrl(opts.find?.getURL ? opts.find.getURL(id, opts) : `${opts.baseURL}/${id}`, opts.pathBind);
|
|
204
211
|
await handleApiRequest(
|
|
205
212
|
{
|
|
@@ -215,14 +222,14 @@ export const apiFindHelper = async (state, onUpdateStatus, onUpdateOptions, onUp
|
|
|
215
222
|
onUpdateOptions({
|
|
216
223
|
_timestamp: Date.now(),
|
|
217
224
|
_status: status,
|
|
218
|
-
request:
|
|
225
|
+
request: serializableRequestOptions
|
|
219
226
|
});
|
|
220
227
|
},
|
|
221
228
|
onError: (error) => {
|
|
222
229
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
223
230
|
onUpdateOptions({
|
|
224
231
|
_status: error.response?.status,
|
|
225
|
-
request:
|
|
232
|
+
request: serializableRequestOptions
|
|
226
233
|
});
|
|
227
234
|
},
|
|
228
235
|
onComplete: () => {
|
|
@@ -244,6 +251,7 @@ export const updateHelper = async (state, onUpdateStatus, onUpdateOptions, onUpd
|
|
|
244
251
|
opts.params,
|
|
245
252
|
opts.signal
|
|
246
253
|
);
|
|
254
|
+
const serializableRequestOptions = toSerializableRequestOptions(requestOptions);
|
|
247
255
|
const url = bindParamsToUrl(opts.update?.getURL ? opts.update.getURL(id, data, opts) : `${opts.baseURL}/${id}`, opts.pathBind);
|
|
248
256
|
await handleApiRequest(
|
|
249
257
|
{
|
|
@@ -273,14 +281,14 @@ export const updateHelper = async (state, onUpdateStatus, onUpdateOptions, onUpd
|
|
|
273
281
|
onUpdateOptions({
|
|
274
282
|
_timestamp: Date.now(),
|
|
275
283
|
_status: status,
|
|
276
|
-
request:
|
|
284
|
+
request: serializableRequestOptions
|
|
277
285
|
});
|
|
278
286
|
},
|
|
279
287
|
onError: (error) => {
|
|
280
288
|
onUpdateStatus(updateLoaderState.setError(state().status, error));
|
|
281
289
|
onUpdateOptions({
|
|
282
290
|
_status: error.response?.status,
|
|
283
|
-
request:
|
|
291
|
+
request: serializableRequestOptions
|
|
284
292
|
});
|
|
285
293
|
},
|
|
286
294
|
onComplete: () => {
|