Hyperlinkv0.8.0-beta.28

Array

Array.padconsteffect/Array.ts:2841
<A, T>(n: number, fill: T): (self: Array<A>) => Array<A | T>
<A, T>(self: Array<A>, n: number, fill: T): Array<A | T>

Pads or truncates an array to exactly n elements, filling with fill if the array is shorter, or slicing if longer.

When to use

Use to ensure an array has a specific length, padding with a fill value or truncating as needed.

Details

Returns an empty array when n <= 0.

Example (Padding an array)

import { Array } from "effect"

console.log(Array.pad([1, 2, 3], 6, 0)) // [1, 2, 3, 0, 0, 0]
Source effect/Array.ts:284117 lines
export const pad: {
  <A, T>(
    n: number,
    fill: T
  ): (
    self: Array<A>
  ) => Array<A | T>
  <A, T>(self: Array<A>, n: number, fill: T): Array<A | T>
} = dual(3, <A, T>(self: Array<A>, n: number, fill: T): Array<A | T> => {
  if (self.length >= n) {
    return take(self, n)
  }
  return appendAll(
    self,
    makeBy(n - self.length, () => fill)
  )
})