UNPKG

@cran/lib.vue.ref

Version:

Vue Reactivity Extensions

33 lines (30 loc) 955 B
import { computed } from "vue"; import { type EagerComputed, type MaybeWrapped, unwrap } from "../utility"; /** * @since 0.0.1 * @category Array * @inheritdoc Array#toSpliced */ export function useSpliced<T> ( values: MaybeWrapped<Array<MaybeWrapped<T>>>, start: MaybeWrapped<number>, deleteCount?: MaybeWrapped<number | undefined> ): EagerComputed<Array<T>>; export function useSpliced<T> ( values: MaybeWrapped<Array<MaybeWrapped<T>>>, start: MaybeWrapped<number>, deleteCount: MaybeWrapped<number>, ...items: Array<MaybeWrapped<T>> ): EagerComputed<Array<T>>; export function useSpliced<T> ( values: MaybeWrapped<Array<MaybeWrapped<T>>>, start: MaybeWrapped<number>, deleteCount?: MaybeWrapped<number | undefined>, ...items: Array<MaybeWrapped<T>> ) { return computed(function compute ( ) { return unwrap(values).map<T>(unwrap).splice( unwrap(start), unwrap(deleteCount)!, ...items.map<T>(unwrap) ); }); }