Hyperlinkv0.8.0-beta.28

Array

Array.modifyHeadNonEmptyconsteffect/Array.ts:2362
<A, B>(f: (a: A) => B): (
  self: NonEmptyReadonlyArray<A>
) => NonEmptyArray<A | B>
<A, B>(self: NonEmptyReadonlyArray<A>, f: (a: A) => B): NonEmptyArray<
  A | B
>

Applies a function to the first element of a non-empty array, returning a new array.

When to use

Use to transform the first element of a non-empty array while preserving the rest.

Example (Modifying the head)

import { Array } from "effect"

console.log(Array.modifyHeadNonEmpty([1, 2, 3], (n) => n * 10)) // [10, 2, 3]
Source effect/Array.ts:236210 lines
export const modifyHeadNonEmpty: {
  <A, B>(f: (a: A) => B): (self: NonEmptyReadonlyArray<A>) => NonEmptyArray<A | B>
  <A, B>(self: NonEmptyReadonlyArray<A>, f: (a: A) => B): NonEmptyArray<A | B>
} = dual(
  2,
  <A, B>(
    self: NonEmptyReadonlyArray<A>,
    f: (a: A) => B
  ): NonEmptyArray<A | B> => [f(headNonEmpty(self)), ...tailNonEmpty(self)]
)
Referenced by 1 symbols