effect-io-ai

Package: effect
Module: MutableList

MutableList.MutableList.Bucket

Storage node used by the exposed head and tail fields of a MutableList.

Details

Most code should treat buckets as an implementation detail and use MutableList operations such as append, prepend, and take instead of constructing or mutating buckets directly.

Example (Inspecting buckets)

import { MutableList } from "effect"

const list = MutableList.make<number>()
MutableList.append(list, 1)
MutableList.append(list, 2)

// Access bucket information (for debugging or advanced usage)
const inspectBucket = (
  bucket: MutableList.MutableList.Bucket<number> | undefined
) => {
  if (bucket) {
    console.log("Bucket array:", bucket.array)
    console.log("Bucket offset:", bucket.offset)
    console.log("Bucket mutable:", bucket.mutable)
    console.log("Has next bucket:", bucket.next !== undefined)
  }
}

inspectBucket(list.head)
inspectBucket(list.tail)

Signature

export interface Bucket<A> {
    readonly array: Array<A>
    mutable: boolean
    offset: number
    next: Bucket<A> | undefined
  }

Source

Since v4.0.0