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, }; };