@cran/lib.vue.ref
Version:
Vue Reactivity Extensions
26 lines (23 loc) • 733 B
text/typescript
import { type MaybeWrapped, eagerComputed, unwrap } from "../utility";
/**
* @since 0.0.1
* @category Object
*/
export function useGet<V> (
values: MaybeWrapped<Array<MaybeWrapped<V>>>,
property: MaybeWrapped<number>
): V;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function useGet<K extends keyof any, V> (
values: MaybeWrapped<Record<K, MaybeWrapped<V>>>,
property: MaybeWrapped<K>
): V;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function useGet<K extends keyof any, V> (
values: MaybeWrapped<Record<K, MaybeWrapped<V>>>,
property: MaybeWrapped<K>
) {
return eagerComputed(function compute ( ) {
return unwrap(unwrap(values)[unwrap(property)]);
});
}