/** * Composable for managing build data with automatic trimming * Handles deep cloning and tree manipulation */ import { deepClone } from '~/utils/helpers' import { trimBuilds, trimLateGameItems } from '~/utils/buildHelpers' export const useBuilds = (buildsProp: Ref) => { const builds = ref(deepClone(buildsProp.value)) function trimBuildData(): void { trimBuilds(builds.value) trimLateGameItems(builds.value) } // Watch for changes and rebuild watch( () => buildsProp.value, newBuilds => { builds.value = deepClone(newBuilds) trimBuildData() }, { deep: true } ) // Initial trim on mount onMounted(() => { trimBuildData() }) return { builds } }