@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finema/core",
3
- "version": "3.18.0",
3
+ "version": "3.19.0",
4
4
  "configKey": "core",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
package/dist/module.mjs CHANGED
@@ -4,7 +4,7 @@ import * as lodash from 'lodash-es';
4
4
  import * as theme from '../dist/runtime/theme/index.js';
5
5
 
6
6
  const name = "@finema/core";
7
- const version = "3.18.0";
7
+ const version = "3.19.0";
8
8
 
9
9
  const nuxtAppOptions = {
10
10
  head: {
@@ -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: requestOptions
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: requestOptions
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: requestOptions,
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: requestOptions,
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: requestOptions
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: requestOptions
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: requestOptions
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: requestOptions
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
- ...opts,
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: requestOptions
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: requestOptions
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: requestOptions
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: requestOptions
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: requestOptions
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: requestOptions
291
+ request: serializableRequestOptions
284
292
  });
285
293
  },
286
294
  onComplete: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finema/core",
3
- "version": "3.18.0",
3
+ "version": "3.19.0",
4
4
  "repository": "https://gitlab.finema.co/finema/ui-kit",
5
5
  "license": "MIT",
6
6
  "author": "Finema Dev Core Team",