import { shallowRef } from 'vue' export const useOrderedChildren = () => { const children: Record = {} const orderedChildren = shallowRef([]) const addChild = (child: T) => { children[child.uid] = child orderedChildren.value.push(child) } const removeChild = (uid: number) => { delete children[uid] orderedChildren.value = orderedChildren.value.filter( (child) => child.uid !== uid ) } return { children: orderedChildren, addChild, removeChild, } }