infinity-forge 10.2.1 → 10.2.2
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.
|
@@ -7,7 +7,8 @@ type UseQueryOptions<TParams extends any[], TData> = {
|
|
|
7
7
|
onError?: (error: any) => void;
|
|
8
8
|
enableCache?: boolean;
|
|
9
9
|
};
|
|
10
|
-
export declare function useNewQuery<TParams extends any[], TData>({ queryKey, queryFn, enabled, onSuccess, enableCache,
|
|
10
|
+
export declare function useNewQuery<TParams extends any[], TData>({ queryKey, queryFn, enabled, onSuccess, enableCache, // Padrão para false
|
|
11
|
+
onError, }: UseQueryOptions<TParams, TData>): {
|
|
11
12
|
refetch: (callbacks?: {
|
|
12
13
|
onSuccess?: (data: TData) => void;
|
|
13
14
|
onError?: (err: any) => void;
|
|
@@ -61,17 +61,23 @@ var react_1 = require("react");
|
|
|
61
61
|
var QueryClientProvider_1 = require("./QueryClientProvider.js");
|
|
62
62
|
function useNewQuery(_a) {
|
|
63
63
|
var _this = this;
|
|
64
|
-
var queryKey = _a.queryKey, queryFn = _a.queryFn, _b = _a.enabled, enabled = _b === void 0 ? true : _b, onSuccess = _a.onSuccess, _c = _a.enableCache, enableCache = _c === void 0 ? false : _c,
|
|
64
|
+
var queryKey = _a.queryKey, queryFn = _a.queryFn, _b = _a.enabled, enabled = _b === void 0 ? true : _b, onSuccess = _a.onSuccess, _c = _a.enableCache, enableCache = _c === void 0 ? false : _c, // Padrão para false
|
|
65
|
+
onError = _a.onError;
|
|
65
66
|
var queryClient = (0, QueryClientProvider_1.useQueryClient)();
|
|
67
|
+
var serializedQueryKey = JSON.stringify(queryKey); // Serializa a chave uma vez
|
|
68
|
+
console.log("[useNewQuery Log] Componente renderizado para key: ".concat(serializedQueryKey, ", Enabled: ").concat(enabled, ", EnableCache: ").concat(enableCache));
|
|
66
69
|
var _d = (0, react_1.useState)(function () {
|
|
67
70
|
var cached = queryClient.getQueryData(queryKey);
|
|
71
|
+
console.log("[useNewQuery Log] Estado inicial. Cache para ".concat(serializedQueryKey, ":"), cached !== undefined ? 'Existe' : 'Não existe');
|
|
68
72
|
if (enableCache && cached !== undefined) {
|
|
73
|
+
console.log("[useNewQuery Log] Estado inicial: Usando dados cacheados para ".concat(serializedQueryKey, "."));
|
|
69
74
|
return {
|
|
70
75
|
data: cached,
|
|
71
76
|
loading: false,
|
|
72
77
|
error: undefined,
|
|
73
78
|
};
|
|
74
79
|
}
|
|
80
|
+
console.log("[useNewQuery Log] Estado inicial: Sem cache ou cache desabilitado. Carregamento inicial.");
|
|
75
81
|
return {
|
|
76
82
|
data: undefined,
|
|
77
83
|
loading: false,
|
|
@@ -80,7 +86,7 @@ function useNewQuery(_a) {
|
|
|
80
86
|
}), state = _d[0], setState = _d[1];
|
|
81
87
|
var queryFnRef = (0, react_1.useRef)(queryFn);
|
|
82
88
|
queryFnRef.current = queryFn;
|
|
83
|
-
var queryKeyRef = (0, react_1.useRef)(queryKey);
|
|
89
|
+
var queryKeyRef = (0, react_1.useRef)(queryKey); // Mantém a chave original em um ref
|
|
84
90
|
queryKeyRef.current = queryKey;
|
|
85
91
|
var onSuccessRef = (0, react_1.useRef)(onSuccess);
|
|
86
92
|
onSuccessRef.current = onSuccess;
|
|
@@ -98,35 +104,45 @@ function useNewQuery(_a) {
|
|
|
98
104
|
return __generator(this, function (_c) {
|
|
99
105
|
switch (_c.label) {
|
|
100
106
|
case 0:
|
|
107
|
+
console.log("[useNewQuery Log] fetchData chamado para key: ".concat(serializedQueryKey, ", ForceFetch: ").concat(forceFetch, ", Enabled: ").concat(enabled));
|
|
101
108
|
if (!enabled && !forceFetch) {
|
|
109
|
+
console.log("[useNewQuery Log] fetchData: Abortado. Query n\u00E3o habilitada e n\u00E3o \u00E9 um fetch for\u00E7ado.");
|
|
102
110
|
return [2 /*return*/];
|
|
103
111
|
}
|
|
104
112
|
currentCachedData = queryClient.getQueryData(queryKeyRef.current);
|
|
113
|
+
console.log("[useNewQuery Log] fetchData: Dados atuais no cache para ".concat(serializedQueryKey, ":"), currentCachedData !== undefined ? 'Existe' : 'Não existe');
|
|
105
114
|
if (!forceFetch && enableCache && currentCachedData !== undefined) {
|
|
115
|
+
console.log("[useNewQuery Log] fetchData: Cache habilitado e dados presentes. N\u00E3o for\u00E7ando fetch.");
|
|
106
116
|
if (state.data !== currentCachedData || state.loading) {
|
|
117
|
+
console.log("[useNewQuery Log] fetchData: Atualizando estado com dados cacheados para ".concat(serializedQueryKey, "."));
|
|
107
118
|
setState(function (old) { return (__assign(__assign({}, old), { data: currentCachedData, loading: false, error: undefined })); });
|
|
108
119
|
}
|
|
109
120
|
return [2 /*return*/, currentCachedData];
|
|
110
121
|
}
|
|
111
122
|
existingFetchPromise = queryClient.ongoingFetches.get(queryClient.serializeKey(queryKeyRef.current));
|
|
112
123
|
if (existingFetchPromise) {
|
|
124
|
+
console.log("[useNewQuery Log] fetchData: Fetch em andamento para ".concat(serializedQueryKey, ". Retornando promessa existente."));
|
|
113
125
|
return [2 /*return*/, existingFetchPromise];
|
|
114
126
|
}
|
|
127
|
+
console.log("[useNewQuery Log] fetchData: Iniciando nova busca para ".concat(serializedQueryKey, ". Definindo loading como true."));
|
|
115
128
|
setState(function (old) { return (__assign(__assign({}, old), { loading: true, error: undefined })); });
|
|
116
129
|
_c.label = 1;
|
|
117
130
|
case 1:
|
|
118
131
|
_c.trys.push([1, 3, , 4]);
|
|
119
132
|
return [4 /*yield*/, queryClient.fetchQuery(queryKeyRef.current, function () {
|
|
120
133
|
var args = Array.isArray(queryKeyRef.current[1]) ? queryKeyRef.current[1] : [];
|
|
134
|
+
console.log("[useNewQuery Log] queryFn sendo executada para: ".concat(serializedQueryKey));
|
|
121
135
|
return queryFnRef.current.apply(queryFnRef, args);
|
|
122
136
|
}, { enableCache: enableCache })];
|
|
123
137
|
case 2:
|
|
124
138
|
data = _c.sent();
|
|
139
|
+
console.log("[useNewQuery Log] fetchData: Busca conclu\u00EDda para ".concat(serializedQueryKey, ". Atualizando estado e chamando onSuccess."));
|
|
125
140
|
setState({ data: data, loading: false, error: undefined });
|
|
126
141
|
(_a = onSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onSuccessRef, data);
|
|
127
142
|
return [2 /*return*/, data];
|
|
128
143
|
case 3:
|
|
129
144
|
error_1 = _c.sent();
|
|
145
|
+
console.error("[useNewQuery Log] fetchData: Erro na busca para ".concat(serializedQueryKey, ". Atualizando estado e chamando onError."), error_1);
|
|
130
146
|
setState({ data: undefined, loading: false, error: error_1 });
|
|
131
147
|
(_b = onErrorRef.current) === null || _b === void 0 ? void 0 : _b.call(onErrorRef, error_1);
|
|
132
148
|
throw error_1;
|
|
@@ -134,19 +150,23 @@ function useNewQuery(_a) {
|
|
|
134
150
|
}
|
|
135
151
|
});
|
|
136
152
|
});
|
|
137
|
-
}, [queryClient, enabled, enableCache, state.data, state.loading]);
|
|
138
|
-
var serializedQueryKey = JSON.stringify(queryKey);
|
|
153
|
+
}, [queryClient, enabled, enableCache, serializedQueryKey, state.data, state.loading]); // Adicionei serializedQueryKey aqui, pois fetchData depende dela para logs
|
|
139
154
|
var lastSerializedKey = (0, react_1.useRef)(serializedQueryKey);
|
|
140
155
|
// NOVO useEffect para a busca inicial e re-fetch por mudança de queryKey
|
|
141
156
|
(0, react_1.useEffect)(function () {
|
|
142
|
-
|
|
157
|
+
console.log("[useNewQuery Log] useEffect de busca acionado para key: ".concat(serializedQueryKey, ", Enabled: ").concat(enabled));
|
|
158
|
+
if (!enabled) {
|
|
159
|
+
console.log("[useNewQuery Log] useEffect de busca: Abortado. Query n\u00E3o habilitada.");
|
|
143
160
|
return;
|
|
161
|
+
}
|
|
144
162
|
// Se a queryKey mudou (serializada)
|
|
145
163
|
if (serializedQueryKey !== lastSerializedKey.current) {
|
|
164
|
+
console.log("[useNewQuery Log] useEffect de busca: queryKey mudou de '".concat(lastSerializedKey.current, "' para '").concat(serializedQueryKey, "'. For\u00E7ando novo fetch."));
|
|
146
165
|
lastSerializedKey.current = serializedQueryKey;
|
|
147
166
|
fetchData(true); // Força um novo fetch
|
|
148
167
|
}
|
|
149
168
|
else {
|
|
169
|
+
console.log("[useNewQuery Log] useEffect de busca: queryKey n\u00E3o mudou. Verificando condi\u00E7\u00F5es para fetch inicial/re-render.");
|
|
150
170
|
// Na montagem inicial do componente ou em re-renderizações subsequentes:
|
|
151
171
|
// Apenas faz o fetch se não há dados OU se o cache não está habilitado.
|
|
152
172
|
// Isso evita o loop quando enableCache é false, pois ele não tenta buscar
|
|
@@ -156,19 +176,31 @@ function useNewQuery(_a) {
|
|
|
156
176
|
// Se enableCache é false, queremos buscar, mas só uma vez na montagem
|
|
157
177
|
// ou quando enabled muda para true.
|
|
158
178
|
var cached = queryClient.getQueryData(queryKey);
|
|
179
|
+
console.log("[useNewQuery Log] useEffect de busca: Estado atual: data=".concat(state.data, ", loading=").concat(state.loading, ", error=").concat(state.error, ". Cache existe? ").concat(cached !== undefined));
|
|
159
180
|
if (!enableCache || cached === undefined) {
|
|
160
|
-
fetchData
|
|
181
|
+
console.log("[useNewQuery Log] useEffect de busca: Condi\u00E7\u00F5es de fetch inicial/re-render atendidas. Chamando fetchData.");
|
|
182
|
+
fetchData(true); // Força um novo fetch
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
console.log("[useNewQuery Log] useEffect de busca: Cache habilitado e dados presentes. N\u00E3o chamando fetchData.");
|
|
161
186
|
}
|
|
162
187
|
}
|
|
188
|
+
else {
|
|
189
|
+
console.log("[useNewQuery Log] useEffect de busca: Condi\u00E7\u00F5es de fetch inicial/re-render N\u00C3O atendidas (data j\u00E1 existe ou est\u00E1 carregando).");
|
|
190
|
+
}
|
|
163
191
|
}
|
|
164
|
-
}, [enabled, enableCache, fetchData, queryClient, queryKey, serializedQueryKey, state.data, state.loading, state.error]);
|
|
165
|
-
// Efeito para subscrição e invalidação
|
|
192
|
+
}, [enabled, enableCache, fetchData, queryClient, queryKey, serializedQueryKey, state.data, state.loading, state.error]);
|
|
193
|
+
// Efeito para subscrição e invalidação
|
|
166
194
|
(0, react_1.useEffect)(function () {
|
|
195
|
+
console.log("[useNewQuery Log] useEffect de subscri\u00E7\u00E3o acionado para key: ".concat(serializedQueryKey));
|
|
167
196
|
var unsubscribe = queryClient.subscribe(queryKey, function (newData) {
|
|
197
|
+
console.log("[useNewQuery Log] Subscriber notificado para key: ".concat(serializedQueryKey, ". Dados recebidos:"), newData === undefined ? 'undefined (invalidação)' : newData);
|
|
168
198
|
if (newData === undefined) {
|
|
169
|
-
|
|
199
|
+
console.log("[useNewQuery Log] Subscriber: Dados undefined recebidos. For\u00E7ando novo fetch.");
|
|
200
|
+
fetchData(true); // Força um novo fetch
|
|
170
201
|
}
|
|
171
202
|
else {
|
|
203
|
+
console.log("[useNewQuery Log] Subscriber: Novos dados recebidos. Atualizando estado.");
|
|
172
204
|
setState({
|
|
173
205
|
data: newData,
|
|
174
206
|
loading: false,
|
|
@@ -176,31 +208,41 @@ function useNewQuery(_a) {
|
|
|
176
208
|
});
|
|
177
209
|
}
|
|
178
210
|
});
|
|
179
|
-
return function () {
|
|
180
|
-
|
|
211
|
+
return function () {
|
|
212
|
+
console.log("[useNewQuery Log] useEffect de subscri\u00E7\u00E3o: Limpeza (unsubscribe) para key: ".concat(serializedQueryKey, "."));
|
|
213
|
+
unsubscribe();
|
|
214
|
+
};
|
|
215
|
+
}, [queryClient, queryKey, fetchData, serializedQueryKey]); // Adicionado serializedQueryKey para dependências
|
|
181
216
|
var refetch = (0, react_1.useCallback)(function (callbacks) { return __awaiter(_this, void 0, void 0, function () {
|
|
182
217
|
var data, error_2;
|
|
183
218
|
var _a, _b;
|
|
184
219
|
return __generator(this, function (_c) {
|
|
185
220
|
switch (_c.label) {
|
|
186
221
|
case 0:
|
|
187
|
-
|
|
188
|
-
|
|
222
|
+
console.log("[useNewQuery Log] Fun\u00E7\u00E3o refetch do hook acionada para key: ".concat(serializedQueryKey, "."));
|
|
223
|
+
_c.label = 1;
|
|
189
224
|
case 1:
|
|
225
|
+
_c.trys.push([1, 4, , 5]);
|
|
226
|
+
console.log("[useNewQuery Log] Fun\u00E7\u00E3o refetch: Chamando invalidateQueries para ".concat(serializedQueryKey, "."));
|
|
227
|
+
return [4 /*yield*/, queryClient.invalidateQueries({ queryKey: queryKeyRef.current, exact: true })];
|
|
228
|
+
case 2:
|
|
190
229
|
_c.sent();
|
|
230
|
+
console.log("[useNewQuery Log] Fun\u00E7\u00E3o refetch: Invalida\u00E7\u00E3o conclu\u00EDda. Chamando fetchData (for\u00E7ado).");
|
|
191
231
|
return [4 /*yield*/, fetchData(true)];
|
|
192
|
-
case
|
|
232
|
+
case 3:
|
|
193
233
|
data = _c.sent();
|
|
194
234
|
(_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onSuccess) === null || _a === void 0 ? void 0 : _a.call(callbacks, data);
|
|
235
|
+
console.log("[useNewQuery Log] Fun\u00E7\u00E3o refetch: Busca conclu\u00EDda com sucesso para ".concat(serializedQueryKey, "."));
|
|
195
236
|
return [2 /*return*/, data];
|
|
196
|
-
case
|
|
237
|
+
case 4:
|
|
197
238
|
error_2 = _c.sent();
|
|
198
239
|
(_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onError) === null || _b === void 0 ? void 0 : _b.call(callbacks, error_2);
|
|
240
|
+
console.error("[useNewQuery Log] Fun\u00E7\u00E3o refetch: Erro durante refetch para ".concat(serializedQueryKey, "."), error_2);
|
|
199
241
|
throw error_2;
|
|
200
|
-
case
|
|
242
|
+
case 5: return [2 /*return*/];
|
|
201
243
|
}
|
|
202
244
|
});
|
|
203
|
-
}); }, [fetchData, queryClient]);
|
|
245
|
+
}); }, [fetchData, queryClient, serializedQueryKey]); // Adicionado serializedQueryKey aqui
|
|
204
246
|
return __assign(__assign({}, state), { refetch: refetch });
|
|
205
247
|
}
|
|
206
248
|
//# sourceMappingURL=useQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../../../../src/ui/hooks/use-query/new-query/useQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../../../../src/ui/hooks/use-query/new-query/useQuery.ts"],"names":[],"mappings":"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"}
|