UNPKG

@cran/lib.vue.ref

Version:

Vue Reactivity Extensions

29 lines (26 loc) 801 B
import { computed } from "vue"; import { type ArrayPredicate, wrapArrayPredicate } from "./ArrayPredicate"; import { type MaybeWrapped, unwrap } from "../utility"; /** * @since 0.0.1 * @category Array * @inheritdoc Array#filter */ export function useFilter<T> ( values: MaybeWrapped<Array<MaybeWrapped< T | boolean | null | undefined >>>, predicate: typeof Boolean ): ReturnType<typeof computed<Array<T>>>; export function useFilter<T> ( values: MaybeWrapped<Array<MaybeWrapped<T>>>, predicate: ArrayPredicate<T> ): ReturnType<typeof computed<Array<T>>>; export function useFilter<T> ( values: MaybeWrapped<Array<MaybeWrapped<T>>>, predicate: ArrayPredicate<T> ) { return computed(function compute ( ) { return unwrap(values).filter(wrapArrayPredicate(predicate)); }); }