@cran/lib.vue.ref
Version:
Vue Reactivity Extensions
28 lines (24 loc) • 605 B
text/typescript
import { type MaybeWrapped, unwrap } from "../utility";
/**
* @since 0.0.1
* @category Array
*/
export type ArrayReducer<T, R> = (
previousValue: R, currentValue: T,
currentIndex: number, array: Array<MaybeWrapped<T>>
) => R;
/**
* @since 0.0.1
* @category Array
* @internal
*/
export function wrapArrayReducer<T, R> ( reducer: ArrayReducer<T, R> ) {
return function wrapReducer (
previousValue: R,
currentValue: MaybeWrapped<T>,
currentIndex: number,
array: Array<MaybeWrapped<T>>
) {
return reducer(previousValue, unwrap(currentValue), currentIndex, array);
};
}