UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

27 lines (25 loc) 672 B
import { dfdlT } from "@monstermann/dfdl"; import { cloneArray, markAsMutable } from "@monstermann/remmi"; //#region src/array/takeLast.ts /** * `takeLast(array, amount)` * * Returns a new array containing the last `amount` elements from `array`. * * ```ts * takeLast([1, 2, 3, 4, 5], 3); // [3, 4, 5] * ``` * * ```ts * pipe([1, 2, 3, 4, 5], takeLast(3)); // [3, 4, 5] * ``` */ const takeLast = dfdlT((target, amount) => { if (!Number.isInteger(amount) || target.length <= amount) return target; if (amount <= 0) return markAsMutable([]); target = cloneArray(target); target.splice(0, target.length - amount); return target; }, 2); //#endregion export { takeLast };