decord/source/modules/games/autocomplete/GameAutocompleteStore.tsx

102 lines
3.2 KiB
TypeScript
Raw Normal View History

// Module ID: 5158
// Function ID: 5159
// Name: GameAutocompleteStore
// Dependencies: [1437, 504, 5159, 573, 2]
2026-07-20 16:05:17 +00:00
// Module 5158 (GameAutocompleteStore)
import initializeDefault from "initialize" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 573 */;
import privDefault from "priv" /* 1437 */;
import GameAutocompleteUtils from "GameAutocompleteUtils" /* 5159 */;
2026-07-23 10:11:24 +00:00
require = fn;
const navigation = new privDefault({ max: 100 });
2026-07-23 10:11:24 +00:00
let set = new Set();
2026-08-24 06:08:38 +00:00
const tmp2 = new privDefault({ max: 100 });
const navigation2 = new privDefault({ max: 500 });
2026-08-24 06:08:38 +00:00
const Store = initializeDefault.Store;
2026-07-29 08:29:29 +00:00
class GameAutocompleteStore extends Store {
}
const prototype = GameAutocompleteStore.prototype;
prototype["getResults"] = function getResults(query) {
const result = GameAutocompleteUtils.normalizeGameAutocompleteQuery(query);
2026-07-29 08:29:29 +00:00
let peekResult;
if (null != result) {
2026-08-24 06:08:38 +00:00
peekResult = navigation.peek(result);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return peekResult;
};
prototype["getClosestResults"] = function getClosestResults(result) {
result = GameAutocompleteUtils.normalizeGameAutocompleteQuery(result);
2026-07-29 08:29:29 +00:00
if (null != result) {
2026-08-24 06:08:38 +00:00
const peekResult = navigation.peek(result);
2026-07-29 08:29:29 +00:00
if (null != peekResult) {
2026-07-24 07:16:23 +00:00
return peekResult;
2026-07-29 08:29:29 +00:00
} else {
let diff = result.length - 1;
if (1 <= diff) {
2026-08-24 06:08:38 +00:00
const peekResult1 = navigation.peek(result.slice(0, diff));
2026-07-29 08:29:29 +00:00
while (null == peekResult1) {
diff = diff - 1;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return peekResult1;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
}
};
prototype["shouldSuppressFetch"] = function shouldSuppressFetch(result) {
result = GameAutocompleteUtils.normalizeGameAutocompleteQuery(result);
2026-07-29 08:29:29 +00:00
let tmp4 = null != result;
if (tmp4) {
2026-08-24 06:08:38 +00:00
const hasItem = navigation.has(result);
2026-07-29 08:29:29 +00:00
let result1 = !hasItem;
if (!hasItem) {
result1 = !set.has(result);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (result1) {
result1 = GameAutocompleteUtils.shouldSuppressAutocompleteFetch(result, (arg0) => navigation.peek(arg0));
const tmpResult = GameAutocompleteUtils;
2026-07-24 07:16:23 +00:00
}
2026-07-29 08:29:29 +00:00
tmp4 = result1;
}
return tmp4;
};
prototype["isFetching"] = function isFetching(query) {
const result = GameAutocompleteUtils.normalizeGameAutocompleteQuery(query);
2026-07-29 08:29:29 +00:00
let hasItem = null != result;
if (hasItem) {
hasItem = set.has(result);
}
return hasItem;
};
prototype["getGameById"] = function getGameById(item) {
return navigation2.peek(item);
2026-07-29 08:29:29 +00:00
};
GameAutocompleteStore.displayName = "GameAutocompleteStore";
const gameAutocompleteStore = new GameAutocompleteStore(DispatcherDefault, {
2026-07-20 16:05:17 +00:00
LOGOUT: function handleLogout() {
2026-08-24 06:08:38 +00:00
navigation.reset();
set = new Set();
navigation2.reset();
2026-07-20 16:05:17 +00:00
},
GAME_AUTOCOMPLETE_FETCH: function handleFetch(query) {
set.add(query.query);
},
2026-07-24 07:16:23 +00:00
GAME_AUTOCOMPLETE_FETCH_SUCCESS: function handleFetchSuccess(arg0) {
({ query, results } = arg0);
2026-07-20 16:05:17 +00:00
set.delete(query);
2026-08-24 06:08:38 +00:00
const result = navigation.set(query, results);
2026-07-29 08:29:29 +00:00
for (const item10013 of results) {
2026-08-24 06:08:38 +00:00
let result1 = navigation2.set(item10013.id, item10013);
2026-07-29 08:29:29 +00:00
continue;
2026-07-20 16:05:17 +00:00
}
},
GAME_AUTOCOMPLETE_FETCH_FAILURE: function handleFetchFailure(query) {
set.delete(query.query);
}
2026-07-29 08:29:29 +00:00
});
const size = fn(2);
let result = size.fileFinishedImporting("modules/games/autocomplete/GameAutocompleteStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default gameAutocompleteStore;