MCPcopy
hub / github.com/wandb/openui / useVersion

Function useVersion

frontend/src/hooks/index.ts:79–106  ·  view source on GitHub ↗
(
	item: ItemWrapper
)

Source from the content-addressed store, hash-verified

77}
78
79export function useVersion(
80 item: ItemWrapper
81): [number, (newVersion: number) => void] {
82 const [hash, updateHash] = useHash()
83 const updateVersion = useCallback(
84 (newVersion: number) =>
85 newVersion < 0 ? updateHash('') : updateHash(`#v${newVersion}`),
86 [updateHash]
87 )
88 const version = useMemo(
89 () =>
90 hash.includes('#v')
91 ? Math.min(
92 Number.parseInt(hash.replace('#v', ''), 10),
93 item.latestVersion
94 )
95 : item.latestVersion,
96 [hash, item.latestVersion]
97 )
98 useEffect(() => {
99 // Correct our hash if someone overshoots
100 if (version > item.latestVersion) {
101 updateVersion(item.latestVersion)
102 }
103 }, [version, item.latestVersion, updateVersion])
104
105 return [version, updateVersion]
106}

Callers 7

ShareDialogFunction · 0.90
VersionPreviewFunction · 0.90
ChatFunction · 0.90
PromptFunction · 0.90
HTMLAnnotatorFunction · 0.90
CodeEditorFunction · 0.90
CurrentUIProviderFunction · 0.90

Calls 1

useHashFunction · 0.85

Tested by

no test coverage detected