amplifyquery 1.0.9 β†’ 1.0.10

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.
Files changed (2) hide show
  1. package/dist/service.js +22 -13
  2. package/package.json +1 -1
package/dist/service.js CHANGED
@@ -11,9 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.createAmplifyService = createAmplifyService;
13
13
  const client_1 = require("./client");
14
+ const config_1 = require("./config");
14
15
  const query_1 = require("./query");
15
16
  const utils_1 = require("./utils");
16
- const config_1 = require("./config");
17
17
  const react_query_1 = require("@tanstack/react-query");
18
18
  const auth_1 = require("aws-amplify/auth");
19
19
  const expo_crypto_1 = require("expo-crypto");
@@ -492,7 +492,10 @@ function createAmplifyService(modelName, defaultAuthMode) {
492
492
  let item = apiResponse;
493
493
  if (Array.isArray(apiResponse)) {
494
494
  console.warn(`🍬 ${modelName} get: API returned array instead of single item. Taking first item.`);
495
- item = apiResponse.find((i) => (i === null || i === void 0 ? void 0 : i.id) === id) || apiResponse[0] || null;
495
+ item =
496
+ apiResponse.find((i) => (i === null || i === void 0 ? void 0 : i.id) === id) ||
497
+ apiResponse[0] ||
498
+ null;
496
499
  }
497
500
  // Update cache
498
501
  if (item) {
@@ -1186,8 +1189,7 @@ function createAmplifyService(modelName, defaultAuthMode) {
1186
1189
  console.error(`🍬 ${modelName} useHook create error:`, _error);
1187
1190
  throw _error; // Re-throw error
1188
1191
  }
1189
- }), [service, refetch] // Add refetch dependency
1190
- );
1192
+ }), [service, refetch]);
1191
1193
  const updateItem = (0, react_1.useCallback)((data) => __awaiter(this, void 0, void 0, function* () {
1192
1194
  try {
1193
1195
  const result = yield service.update(data);
@@ -1199,8 +1201,7 @@ function createAmplifyService(modelName, defaultAuthMode) {
1199
1201
  console.error(`🍬 ${modelName} useHook update error:`, _error);
1200
1202
  throw _error;
1201
1203
  }
1202
- }), [service, refetch] // Add refetch dependency
1203
- );
1204
+ }), [service, refetch]);
1204
1205
  const deleteItem = (0, react_1.useCallback)((id) => __awaiter(this, void 0, void 0, function* () {
1205
1206
  try {
1206
1207
  const result = yield service.delete(id);
@@ -1212,8 +1213,7 @@ function createAmplifyService(modelName, defaultAuthMode) {
1212
1213
  console.error(`🍬 ${modelName} useHook delete error:`, error);
1213
1214
  throw error;
1214
1215
  }
1215
- }), [service, refetch] // refetch dependency added
1216
- );
1216
+ }), [service, refetch]);
1217
1217
  const refresh = (0, react_1.useCallback)((refreshOptions) => __awaiter(this, void 0, void 0, function* () {
1218
1218
  console.log(`🍬 ${modelName} useHook refresh called`, queryKey);
1219
1219
  const { data } = yield refetch({ throwOnError: true }); // Throw on error
@@ -1247,12 +1247,21 @@ function createAmplifyService(modelName, defaultAuthMode) {
1247
1247
  const singleItemQueryKey = [modelName, id];
1248
1248
  // First check data from cache
1249
1249
  const rawCachedData = hookQueryClient.getQueryData(singleItemQueryKey);
1250
- // πŸ”§ 버그 μˆ˜μ •: μΊμ‹œλœ λ°μ΄ν„°μ˜ IDκ°€ μš”μ²­ν•œ ID와 μΌμΉ˜ν•˜λŠ”μ§€ 검증
1251
- const cachedData = rawCachedData && (rawCachedData === null || rawCachedData === void 0 ? void 0 : rawCachedData.id) === id
1252
- ? rawCachedData
1253
- : undefined;
1254
- if (rawCachedData && !cachedData) {
1250
+ // πŸ”§ 버그 μˆ˜μ •: 배열이 μΊμ‹œλ˜μ–΄ μžˆλŠ” 경우 처리
1251
+ let cachedData;
1252
+ if (Array.isArray(rawCachedData)) {
1253
+ console.warn(`🍬 ${modelName} useItemHook: Cache contains array instead of single item. Finding matching item.`);
1254
+ const matchingItem = rawCachedData.find((item) => (item === null || item === void 0 ? void 0 : item.id) === id);
1255
+ cachedData = matchingItem || undefined;
1256
+ // 배열이 μΊμ‹œλ˜μ–΄ 있으면 μΊμ‹œλ₯Ό μ œκ±°ν•˜μ—¬ get λ©”μ„œλ“œκ°€ λ‹€μ‹œ ν˜ΈμΆœλ˜λ„λ‘ 함
1257
+ hookQueryClient.removeQueries({ queryKey: singleItemQueryKey });
1258
+ }
1259
+ else if (rawCachedData && (rawCachedData === null || rawCachedData === void 0 ? void 0 : rawCachedData.id) === id) {
1260
+ cachedData = rawCachedData;
1261
+ }
1262
+ else if (rawCachedData) {
1255
1263
  console.warn(`🍬 ${modelName} useItemHook: Cache ID mismatch! Requested: ${id}, Cached: ${rawCachedData === null || rawCachedData === void 0 ? void 0 : rawCachedData.id}. Ignoring cached data.`);
1264
+ cachedData = undefined;
1256
1265
  }
1257
1266
  // Single item query
1258
1267
  const { data: item, isLoading, error, refetch, } = (0, react_query_1.useQuery)({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amplifyquery",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Amplify+Query",
5
5
  "keywords": [
6
6
  "Amplify",