import {inject} from 'vue'; import {type AdminContext, type AnyAdminContext} from '../../types'; import {INJECT_ADMIN_INSTANCE} from '../../symbols'; import {type AdminInstanceContextKey} from '../../data'; interface UseInstanceContext { (contextKey: Key): AdminContext; (context: Ctx): Ctx; } export const useInstanceContext: UseInstanceContext = (context: AdminInstanceContextKey) => { const foundInstance = inject(INJECT_ADMIN_INSTANCE); return foundInstance?.context?.[context] ?? null; };