@royaltics/ui 1.3.22 → 1.5.6

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.
@@ -1,52 +1,116 @@
1
- import { useState } from "react";
1
+ import { useState, useEffect, useCallback, useRef } from "react";
2
2
  import { toast } from "react-toastify";
3
3
  import { useHttpContext } from "../providers/http-provider.js";
4
4
  const NOOP = (msg) => { toast.error(msg); };
5
5
  const useHttpState = (_options) => {
6
- const [isSending, setIsSending] = useState(false);
7
- const { baseUrl, debug, online, skipRejected, headers: contextHeaders, setOnline, onNotAuth } = useHttpContext();
8
- const options = { onNotAuth: _options?.onNotAuth || onNotAuth, headers: _options?.headers || {} };
9
- const prepareHeaders = (headers, withAuth) => {
10
- const mergedHeaders = { ...contextHeaders, ...options.headers, ...headers };
11
- if (withAuth && contextHeaders.authorization) {
12
- mergedHeaders.authorization = contextHeaders.authorization;
13
- }
14
- return mergedHeaders;
15
- };
6
+ const { baseUrl, debug, headers: contextHeaders, queryManager, onNotAuth, skipRejected, online, setOnline } = useHttpContext();
7
+ const contextHeadersRef = useRef(contextHeaders);
8
+ const [queryStates, setQueryStates] = useState({});
9
+ const subscriptionsRef = useRef(new Map());
10
+ const callbacksRef = useRef(new Map());
11
+ const loadingOperationsRef = useRef(new Set());
12
+ useEffect(() => {
13
+ contextHeadersRef.current = contextHeaders;
14
+ }, [contextHeaders]);
15
+ const setOperationLoading = useCallback((method, key, loading) => {
16
+ const keyString = `${method}-${generateReadableKey(key)}`;
17
+ if (loading) {
18
+ loadingOperationsRef.current.add(keyString);
19
+ }
20
+ else {
21
+ loadingOperationsRef.current.delete(keyString);
22
+ }
23
+ setQueryStates(prev => ({ ...prev }));
24
+ }, []);
25
+ const prepareHeaders = useCallback((headers, withAuth, contentType) => {
26
+ const { authorization, ...restHeaders } = contextHeadersRef.current;
27
+ const merged = { ...headers, ...restHeaders };
28
+ if (contentType === 'json' && !merged['Content-Type'])
29
+ merged['Content-Type'] = 'application/json';
30
+ if (withAuth && authorization)
31
+ merged.authorization = authorization;
32
+ return merged;
33
+ }, []);
16
34
  const buildUrl = (api, data, method) => {
17
35
  let url = Array.isArray(api) ? api.join("/") : api;
18
36
  if (data?.edit && method === 'PATCH')
19
37
  url += '/' + data.edit;
20
- return `${!api.includes("http") ? baseUrl : ""}${url}`;
38
+ return `${!url.includes("http") ? baseUrl : ""}${url}`;
21
39
  };
22
40
  const buildBody = (data, content_type) => {
23
41
  if (content_type === 'file') {
24
42
  const formData = new FormData();
25
- Object.keys(data).forEach((key) => {
26
- const value = data[key];
27
- if (value && typeof value[0] === "object" && ['z_attached', 'z_file', 'photo', 'file'].includes(key)) {
28
- Object.values(value).forEach((item) => formData.append(key + "[]", item, item.name));
43
+ const fileEntries = [];
44
+ const regularEntries = [];
45
+ const isFileOrBlob = (v) => v instanceof File || v instanceof Blob;
46
+ const isFileArray = (v) => Array.isArray(v) && v.length > 0 && v.every(isFileOrBlob);
47
+ Object.entries(data).forEach(([key, value]) => {
48
+ if (isFileOrBlob(value) || isFileArray(value)) {
49
+ fileEntries.push([key, value]);
50
+ }
51
+ else {
52
+ regularEntries.push([key, value]);
29
53
  }
30
- else if (["string", "boolean", "number"].includes(typeof value)) {
54
+ });
55
+ regularEntries.forEach(([key, value]) => {
56
+ if (value == null)
57
+ return;
58
+ if (typeof value === 'string' || typeof value === 'boolean' || typeof value === 'number') {
31
59
  formData.set(key, value.toString());
32
60
  }
33
- else if (Array.isArray(value) || (typeof value === 'object' && value && !value.size)) {
61
+ else {
34
62
  formData.set(key, JSON.stringify(value));
35
63
  }
36
- else {
37
- formData.set(key, value);
64
+ });
65
+ fileEntries.forEach(([key, value]) => {
66
+ if (Array.isArray(value)) {
67
+ value.forEach((file) => {
68
+ const fileName = file instanceof File ? file.name : undefined;
69
+ formData.append(`${key}[]`, file, fileName);
70
+ });
71
+ }
72
+ else if (isFileOrBlob(value)) {
73
+ const fileName = value instanceof File ? value.name : undefined;
74
+ formData.append(key, value, fileName);
38
75
  }
39
76
  });
40
77
  return formData;
41
78
  }
42
79
  return JSON.stringify(data);
43
80
  };
44
- const uploadFileChunks = async (api, data, headers, withAuth = false, chunkSize = 1024 * 1024 * 2, method = 'POST', onSuccess, onError, onProgress) => {
81
+ const HttpFetch = async ({ api, data = {}, query = {}, method = 'POST', content_type = 'json', headers, withAuth = true }) => {
82
+ const url = buildUrl(api, data, method);
83
+ const body = ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method) ? buildBody(data, content_type) : undefined;
84
+ const queryArray = Object.keys(query).map((key) => `${key}=${query[key] !== false && query[key] !== null && query[key] !== undefined ? query[key] : ''}`);
85
+ const params = method === 'GET' && queryArray.length > 0 ? '?' + new URLSearchParams(queryArray.join('&')).toString() : '';
86
+ const res = await fetch(`${url}${params}`, {
87
+ method,
88
+ headers: prepareHeaders(headers, withAuth, content_type),
89
+ body,
90
+ credentials: withAuth ? "include" : "same-origin"
91
+ }).catch((err) => {
92
+ err.code = "BACKEND:OFFLINE";
93
+ err.name = "ServerConnectError";
94
+ err.message = "Sin Conección al Servidor, Trabajando Offline";
95
+ if (!api.toString().includes("http") && skipRejected)
96
+ setOnline(false);
97
+ throw err;
98
+ });
99
+ const json = await res.json();
100
+ if (debug)
101
+ console.log('Host:', url, method, params, data, 'Content Type:', content_type, 'Response:', json);
102
+ if (json.code === 401 && !api.toString().includes('http') && onNotAuth) {
103
+ if (!window.location.href?.includes("redirect"))
104
+ onNotAuth(`${url}${params}`);
105
+ }
106
+ if (json.code === 500 || !json.success)
107
+ throw new Error(json.message || 'Request failed');
108
+ return { data: json.data, paginate: json.paginate };
109
+ };
110
+ const uploadFileChunks = async (api, data, headers, withAuth = false, chunkSize = 2 * 1024 * 1024, method = 'POST', onSuccess, onError, onProgress) => {
45
111
  const file = data.file;
46
112
  if (!file)
47
- throw new Error("The key file is undefined and required for chunks upload files");
48
- if (!['POST', 'PATCH', 'PUT'].includes(method))
49
- throw new Error("The Method Request only can be 'POST' or 'PATCH' or 'PUT'");
113
+ throw new Error("file key required for chunk upload");
50
114
  const totalChunks = Math.ceil(file.size / chunkSize);
51
115
  const url = buildUrl(api, data, method);
52
116
  let currentChunk = 0;
@@ -60,18 +124,11 @@ const useHttpState = (_options) => {
60
124
  formData.append('size', file.size.toString());
61
125
  formData.append('chunkIndex', currentChunk.toString());
62
126
  formData.append('totalChunks', totalChunks.toString());
63
- Object.entries(data).forEach(([k, v]) => {
64
- if (k !== 'file')
65
- formData.append(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
66
- });
127
+ Object.entries(data).forEach(([k, v]) => { if (k !== 'file')
128
+ formData.append(k, typeof v === 'object' ? JSON.stringify(v) : String(v)); });
67
129
  formData.append('chunk', chunk);
68
130
  try {
69
- const res = await fetch(url, {
70
- method,
71
- headers: prepareHeaders(headers, withAuth),
72
- body: formData,
73
- credentials: withAuth ? "include" : "same-origin"
74
- });
131
+ const res = await fetch(url, { method, headers: prepareHeaders(headers, withAuth), body: formData, credentials: withAuth ? "include" : "same-origin" });
75
132
  if (!res.ok)
76
133
  throw new Error(`Chunk failed ${res.status}`);
77
134
  const json = await res.json();
@@ -82,76 +139,281 @@ const useHttpState = (_options) => {
82
139
  const totalMB = (file.size / 1024 / 1024).toFixed(2);
83
140
  onProgress(percent, `${uploadedMB}MB / ${totalMB}MB`);
84
141
  }
85
- if (currentChunk < totalChunks) {
86
- sendChunk();
87
- }
88
- else {
89
- json.success ? onSuccess(json.data) : onError(json.message, json.error);
90
- }
142
+ if (currentChunk < totalChunks)
143
+ await sendChunk();
144
+ else
145
+ json.success ? onSuccess?.(json.data) : onError?.(json.message, json.error);
91
146
  }
92
147
  catch (err) {
93
- onError('Chunk upload failed', err);
148
+ onError?.('Chunk upload failed', err);
94
149
  }
95
150
  };
96
- sendChunk();
151
+ await sendChunk();
97
152
  };
98
- const HttpFetch = async ({ api, data = {}, method = 'POST', content_type = 'json', headers, withAuth = true, chunkSize, onError, onSuccess, onProgress }) => {
99
- const _onError = onError || NOOP;
100
- if (isSending)
153
+ const generateQueryKey = (api, query, customKey) => {
154
+ return customKey || (query ? [api, query] : [api]);
155
+ };
156
+ const generateReadableKey = useCallback((queryKey) => {
157
+ return queryKey.map(item => {
158
+ if (typeof item === 'string')
159
+ return item;
160
+ if (Array.isArray(item))
161
+ return item.join('/');
162
+ return JSON.stringify(item);
163
+ }).join(',');
164
+ }, []);
165
+ const setupSubscription = useCallback((queryKey, isInfinite = false, onSuccess, onError) => {
166
+ const keyString = generateReadableKey(queryKey);
167
+ if (subscriptionsRef.current.has(keyString))
101
168
  return;
102
- if (!online)
103
- return _onError?.("OMIT_OFFLINE");
104
- if (content_type === 'file-chunks') {
105
- setIsSending(true);
106
- await uploadFileChunks(api, data, headers, withAuth, chunkSize, method, onSuccess, _onError, onProgress);
107
- setIsSending(false);
169
+ // Update callbacks if subscription already exists
170
+ callbacksRef.current.set(keyString, { onSuccess, onError });
171
+ if (subscriptionsRef.current.has(keyString)) {
108
172
  return;
109
173
  }
110
- setIsSending(true);
111
- try {
112
- const url = buildUrl(api, data, method);
113
- const body = (['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) ? buildBody(data, content_type) : undefined;
114
- const queryArray = Object.keys(data).map((key) => `${key}=${data[key] !== false ? data[key] : ''}`);
115
- const params = (method === 'GET' && queryArray.length > 0) ? '?' + new URLSearchParams(queryArray.join('&')).toString() : '';
116
- const res = await fetch(`${url}${params}`, {
117
- method,
118
- headers: prepareHeaders(headers, withAuth),
119
- body,
120
- credentials: withAuth ? "include" : "same-origin",
121
- }).catch((err) => {
122
- err.code = "BACKEND:OFFLINE";
123
- err.name = "ServerConnectError";
124
- err.message = "Sin Conección al Servidor, Trabajando Offline";
125
- if (!api.includes("http") && skipRejected)
126
- setOnline(false);
127
- throw err;
174
+ const unsubscribe = isInfinite
175
+ ? queryManager.subscribeInfinite(queryKey, (entry) => {
176
+ setQueryStates(prev => ({
177
+ ...prev,
178
+ [keyString]: {
179
+ data: entry.data,
180
+ pages: entry.pages,
181
+ isLoading: entry.status === 'pending' && entry.pages.length === 0,
182
+ error: entry.error,
183
+ hasNextPage: entry.hasNextPage,
184
+ isFetchingNextPage: false
185
+ }
186
+ }));
187
+ const callbacks = callbacksRef.current.get(keyString);
188
+ if (entry.status === 'success' && callbacks?.onSuccess) {
189
+ const firstPage = entry.pages[0];
190
+ callbacks.onSuccess(entry.data, firstPage?.paginate);
191
+ }
192
+ else if (entry.status === 'error' && callbacks?.onError && entry.error) {
193
+ callbacks.onError(entry.error.message, entry.error);
194
+ }
195
+ })
196
+ : queryManager.subscribe(queryKey, (entry) => {
197
+ setQueryStates(prev => ({
198
+ ...prev,
199
+ [keyString]: {
200
+ data: entry.data?.data ?? null,
201
+ isLoading: entry.status === 'pending',
202
+ error: entry.error
203
+ }
204
+ }));
205
+ const callbacks = callbacksRef.current.get(keyString);
206
+ if (entry.status === 'success' && callbacks?.onSuccess && entry.data) {
207
+ callbacks.onSuccess(entry.data.data, entry.data.paginate);
208
+ }
209
+ else if (entry.status === 'error' && callbacks?.onError && entry.error) {
210
+ callbacks.onError(entry.error.message, entry.error);
211
+ }
128
212
  });
129
- const json = await res.json();
130
- if (debug)
131
- console.log('Host:', url, method, params, data, 'Content Type:', content_type, 'Response:', json);
132
- if (json.code === 401 && !api.includes('http') && options.onNotAuth) {
133
- if (!window.location.href?.includes("redirect"))
134
- options.onNotAuth(`${url}${params}`);
213
+ subscriptionsRef.current.set(keyString, unsubscribe);
214
+ }, [queryManager, generateReadableKey]);
215
+ const cleanupSubscription = useCallback((queryKey) => {
216
+ const keyString = generateReadableKey(queryKey);
217
+ const unsubscribe = subscriptionsRef.current.get(keyString);
218
+ if (unsubscribe) {
219
+ unsubscribe();
220
+ subscriptionsRef.current.delete(keyString);
221
+ callbacksRef.current.delete(keyString);
222
+ }
223
+ }, [generateReadableKey]);
224
+ useEffect(() => {
225
+ return () => {
226
+ subscriptionsRef.current.forEach(unsubscribe => unsubscribe());
227
+ subscriptionsRef.current.clear();
228
+ callbacksRef.current.clear();
229
+ };
230
+ }, []);
231
+ const get = useCallback(async (api, opts) => {
232
+ const { cacheOptions, onSuccess, onError, ...fetchOptions } = opts;
233
+ if (cacheOptions?.enabled) {
234
+ const queryKey = generateQueryKey(api, opts.query, cacheOptions.queryKey);
235
+ setupSubscription(queryKey, false, onSuccess, onError);
236
+ if (!online) {
237
+ onError?.("OMIT_OFFLINE", new Error("Offline"));
238
+ return;
239
+ }
240
+ const cachedData = queryManager.getQueryData(queryKey);
241
+ if (cachedData !== null) {
242
+ onSuccess?.(cachedData.data, cachedData.paginate);
243
+ }
244
+ try {
245
+ const result = await queryManager.fetchQuery(queryKey, () => HttpFetch({ api, ...fetchOptions, method: 'GET' }), cacheOptions);
246
+ // Only call onSuccess if no cache existed (first load)
247
+ if (cachedData === null && result) {
248
+ onSuccess?.(result.data, result.paginate);
249
+ }
135
250
  }
136
- json.code === 500 ? _onError(json.message, json.error) : json.success ? onSuccess(json.data, json.paginate) : _onError(json.message, json.error);
251
+ catch (err) {
252
+ const error = err;
253
+ const _onError = onError || NOOP;
254
+ _onError(error.message, error);
255
+ return;
256
+ }
257
+ return;
258
+ }
259
+ const operationKey = generateQueryKey(api, opts.query);
260
+ setOperationLoading('get', operationKey, true);
261
+ try {
262
+ const result = await HttpFetch({ api, ...fetchOptions, method: 'GET' });
263
+ onSuccess?.(result.data, result.paginate);
264
+ return result.data;
137
265
  }
138
266
  catch (err) {
139
- _onError(err.message, err);
140
- if (debug)
141
- console.error(err);
267
+ const error = err;
268
+ const _onError = onError || NOOP;
269
+ _onError(error.message, error);
270
+ return;
142
271
  }
143
272
  finally {
144
- setIsSending(false);
273
+ setOperationLoading('get', operationKey, false);
145
274
  }
146
- };
275
+ }, [queryManager, setupSubscription, online, setOperationLoading, prepareHeaders]);
276
+ const getInfinite = useCallback(async (api, opts) => {
277
+ const { cacheOptions, infiniteOptions, onSuccess, onError, ...fetchOptions } = opts;
278
+ const cursorKey = infiniteOptions?.cursorKey || 'next';
279
+ const queryKey = generateQueryKey(api, opts.query, cacheOptions?.queryKey);
280
+ setupSubscription(queryKey, true, onSuccess, onError);
281
+ try {
282
+ await queryManager.fetchInfiniteQuery(queryKey, (pageParam) => HttpFetch({ api, ...fetchOptions, method: 'GET', query: { ...opts.query, [cursorKey]: pageParam } }), { ...cacheOptions, ...infiniteOptions });
283
+ }
284
+ catch (err) {
285
+ const error = err;
286
+ const _onError = onError || NOOP;
287
+ _onError(error.message, error);
288
+ return;
289
+ }
290
+ }, [queryManager, setupSubscription]);
291
+ const fetchNextPage = useCallback(async (queryKey, api, opts) => {
292
+ const keyString = generateReadableKey(queryKey);
293
+ const state = queryStates[keyString];
294
+ if (state?.isFetchingNextPage || !state?.hasNextPage)
295
+ return;
296
+ setQueryStates(prev => ({
297
+ ...prev,
298
+ [keyString]: { ...prev[keyString], isFetchingNextPage: true }
299
+ }));
300
+ const cursorKey = opts.infiniteOptions?.cursorKey || 'next';
301
+ try {
302
+ await queryManager.fetchNextPage(queryKey, (pageParam) => HttpFetch({ api, ...opts, method: 'GET', query: { ...opts.query, [cursorKey]: pageParam } }));
303
+ }
304
+ catch (err) {
305
+ const error = err;
306
+ const _onError = opts.onError || NOOP;
307
+ _onError(error.message, error);
308
+ }
309
+ finally {
310
+ setQueryStates(prev => ({
311
+ ...prev,
312
+ [keyString]: { ...prev[keyString], isFetchingNextPage: false }
313
+ }));
314
+ }
315
+ }, [queryStates, queryManager, generateReadableKey]);
316
+ const executeMutation = useCallback(async (api, opts, method) => {
317
+ const { mutationOptions, onSuccess, onError, ...fetchOptions } = opts;
318
+ if (mutationOptions?.mutation) {
319
+ if (mutationOptions.optimisticData) {
320
+ mutationOptions.invalidateKeys?.forEach(key => {
321
+ queryManager.setQueryData(key, mutationOptions.optimisticData);
322
+ });
323
+ }
324
+ try {
325
+ const result = await HttpFetch({ api, ...fetchOptions, method });
326
+ mutationOptions.invalidateKeys?.forEach(key => queryManager.invalidateQueries(key));
327
+ onSuccess?.(result.data, result.paginate);
328
+ return result.data;
329
+ }
330
+ catch (err) {
331
+ const error = err;
332
+ if (mutationOptions.optimisticData) {
333
+ mutationOptions.invalidateKeys?.forEach(key => queryManager.invalidateQueries(key));
334
+ }
335
+ const _onError = onError || NOOP;
336
+ _onError(error.message, error);
337
+ return;
338
+ }
339
+ }
340
+ const operationKey = generateQueryKey(api, opts.data);
341
+ setOperationLoading(method.toLowerCase(), operationKey, true);
342
+ try {
343
+ const result = await HttpFetch({ api, ...fetchOptions, method });
344
+ onSuccess?.(result.data, result.paginate);
345
+ return result.data;
346
+ }
347
+ catch (err) {
348
+ const error = err;
349
+ const _onError = onError || NOOP;
350
+ _onError(error.message, error);
351
+ return;
352
+ }
353
+ finally {
354
+ setOperationLoading(method.toLowerCase(), operationKey, false);
355
+ }
356
+ }, [queryManager, setOperationLoading]);
357
+ const refetch = useCallback(async (queryKey, api, opts) => {
358
+ const keyString = generateReadableKey(queryKey);
359
+ if (!queryStates[keyString])
360
+ return;
361
+ setQueryStates(prev => ({
362
+ ...prev,
363
+ [keyString]: { ...prev[keyString], isLoading: true, error: null }
364
+ }));
365
+ try {
366
+ await queryManager.fetchQuery(queryKey, () => HttpFetch({ api, ...opts, method: 'GET' }), opts.cacheOptions);
367
+ }
368
+ catch (err) {
369
+ const error = err;
370
+ const _onError = opts.onError || NOOP;
371
+ _onError(error.message, error);
372
+ return;
373
+ }
374
+ }, [queryStates, queryManager, generateReadableKey]);
375
+ const isLoading = Object.values(queryStates).some(state => state.isLoading) || loadingOperationsRef.current.size > 0;
147
376
  return {
148
- isSending,
149
- post: (api, options) => HttpFetch({ api, ...options, method: options.method || 'POST' }),
150
- patch: (api, options) => HttpFetch({ api, ...options, method: 'PATCH' }),
151
- deleteReq: (api, options) => HttpFetch({ api, ...options, method: 'DELETE' }),
152
- get: (api, options) => HttpFetch({ api, ...options, method: 'GET' }),
153
- file: (api, options) => HttpFetch({ ...options, api, method: options.method || 'POST', content_type: 'file' }),
154
- fileChunks: (api, options) => HttpFetch({ ...options, api, content_type: 'file-chunks' }),
377
+ isLoading,
378
+ error: Object.values(queryStates).find(state => state.error)?.error || null,
379
+ queryManager,
380
+ refetch,
381
+ fetchNextPage,
382
+ cleanupQuery: cleanupSubscription,
383
+ get,
384
+ getInfinite,
385
+ post: (api, opts) => executeMutation(api, opts, 'POST'),
386
+ patch: (api, opts) => executeMutation(api, opts, 'PATCH'),
387
+ del: (api, opts) => executeMutation(api, opts, 'DELETE'),
388
+ file: async (api, opts) => {
389
+ const _onError = opts.onError || NOOP;
390
+ const operationKey = generateQueryKey(api, opts.data);
391
+ setOperationLoading('post', operationKey, true);
392
+ try {
393
+ const result = await HttpFetch({ ...opts, api, method: opts.method || 'POST', content_type: 'file' });
394
+ opts.onSuccess?.(result.data, result.paginate);
395
+ return result.data;
396
+ }
397
+ catch (err) {
398
+ const error = err;
399
+ _onError(error.message, error);
400
+ return;
401
+ }
402
+ finally {
403
+ setOperationLoading('post', operationKey, false);
404
+ }
405
+ },
406
+ fileChunks: async (api, opts) => {
407
+ const _onError = opts.onError || NOOP;
408
+ const operationKey = generateQueryKey(api, opts.data);
409
+ setOperationLoading('post', operationKey, true);
410
+ try {
411
+ await uploadFileChunks(api, opts.data || {}, opts.headers, opts.withAuth, opts.chunkSize, 'POST', opts.onSuccess, _onError, opts.onProgress);
412
+ }
413
+ finally {
414
+ setOperationLoading('post', operationKey, false);
415
+ }
416
+ }
155
417
  };
156
418
  };
157
419
  export default useHttpState;
@@ -1 +1 @@
1
- {"version":3,"file":"useHttpState.js","sourceRoot":"","sources":["../../src/hooks/useHttpState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useHttpState.js","sourceRoot":"","sources":["../../src/hooks/useHttpState.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
+ import QueryManager from '../core/http/query-manager.js';
2
3
  interface HttpContextValue {
3
4
  baseUrl: string;
4
5
  debug: boolean;
5
- online: boolean;
6
6
  headers: Record<string, string>;
7
7
  skipRejected: boolean;
8
+ queryManager: QueryManager;
9
+ online: boolean;
8
10
  setOnline: (online: boolean) => void;
9
11
  setHeaders: (headers: Record<string, string> | ((prev: Record<string, string>) => Record<string, string>)) => void;
10
12
  onNotAuth?: (currentUrl: string) => void;
@@ -16,6 +18,12 @@ interface HttpProviderProps {
16
18
  initialHeaders?: Record<string, string>;
17
19
  skipRejected?: boolean;
18
20
  onNotAuth?: (currentUrl: string) => void;
21
+ queryConfig?: {
22
+ staleTime?: number;
23
+ gcTime?: number;
24
+ refetchOnWindowFocus?: boolean;
25
+ retry?: number;
26
+ };
19
27
  }
20
28
  export declare const HttpProvider: React.FC<HttpProviderProps>;
21
29
  export declare const useHttpContext: () => HttpContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"http-provider.d.ts","sourceRoot":"","sources":["../../src/providers/http-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAEzF,UAAU,gBAAgB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,iBAAiB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAID,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqCpD,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,gBAMjC,CAAC"}
1
+ {"version":3,"file":"http-provider.d.ts","sourceRoot":"","sources":["../../src/providers/http-provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,YAAY,MAAM,+BAA+B,CAAC;AAEzD,UAAU,gBAAgB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,iBAAiB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAID,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyCpD,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,gBAIjC,CAAC"}