MCPcopy Index your code
hub / github.com/bytebase/bytebase / useAppDatabase

Function useAppDatabase

frontend/src/react/hooks/useAppDatabase.ts:14–32  ·  view source on GitHub ↗
(name: string)

Source from the content-addressed store, hash-verified

12 * `useDatabaseV1Store().getDatabaseByName`.
13 */
14export const useAppDatabase = (name: string): Database => {
15 const getDatabaseByName = useAppStore((s) => s.getDatabaseByName);
16 const getOrFetchDatabaseByName = useAppStore(
17 (s) => s.getOrFetchDatabaseByName
18 );
19 // Subscribe to the specific cache entry so the value recomputes once the
20 // database resolves. Selecting the raw entry keeps the snapshot stable for
21 // `useSyncExternalStore`.
22 const cached = useAppStore((s) => s.databasesByName[name]);
23 useEffect(() => {
24 if (isValidDatabaseName(name)) {
25 void getOrFetchDatabaseByName(name);
26 }
27 }, [getOrFetchDatabaseByName, name]);
28 return useMemo(
29 () => getDatabaseByName(name),
30 [getDatabaseByName, name, cached]
31 );
32};

Callers 7

TableInfoFunction · 0.90
ColumnInfoFunction · 0.90
DatabaseNodeFunction · 0.90
SelectedDatabaseTagFunction · 0.90
AdminLabelFunction · 0.90
TabItemFunction · 0.90
useSQLEditorConnectionFunction · 0.90

Calls 4

isValidDatabaseNameFunction · 0.90
getOrFetchDatabaseByNameFunction · 0.85
getDatabaseByNameFunction · 0.85
useAppStoreFunction · 0.50

Tested by

no test coverage detected