Hyperlinkv0.8.0-beta.28

Array

Array.initfunctioneffect/Array.ts:1242
<A>(self: Iterable<A>): Option.Option<Array<A>>

Returns all elements except the last safely, wrapped in an Option.

When to use

Use to safely get all elements before the last when the iterable may be empty.

Details

Allocates a new array via slice(0, -1). Empty inputs return Option.none().

Example (Getting init)

import { Array } from "effect"

console.log(Array.init([1, 2, 3, 4])) // Option.some([1, 2, 3])
console.log(Array.init([])) // Option.none()
Source effect/Array.ts:12424 lines
export function init<A>(self: Iterable<A>): Option.Option<Array<A>> {
  const as = fromIterable(self)
  return isReadonlyArrayNonEmpty(as) ? Option.some(initNonEmpty(as)) : Option.none()
}