import { computed, type ComputedRef, type MaybeRefOrGetter, toValue } from 'vue' import type { EntityDef, EntityId } from '../core/types' import { useEngine } from './useEngine' export function useEntity( def: EntityDef, id: MaybeRefOrGetter, ): ComputedRef { const engine = useEngine() return computed(() => { const v = toValue(id) if (v === undefined || v === null) return undefined return engine.mirror.getEntity(def.name, v) }) }