Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

MutableQueue

14 exports Since v2.0.0 Source

Constructors

Since v2.0.0

Creates a new bounded MutableQueue.

Signature

declare function bounded<A>(capacity: number): MutableQueue<A>

Creates a new unbounded MutableQueue.

Signature

declare function unbounded<A>(): MutableQueue<A>

Getters

Since v2.0.0

The maximum number of elements that a queue can hold.

Note: unbounded queues can still implement this interface with capacity = Infinity.

Signature

declare function capacity<A>(self: MutableQueue<A>): number
Since v2.0.0

Returns true if the queue is empty, false otherwise.

Signature

declare function isEmpty<A>(self: MutableQueue<A>): boolean
Since v2.0.0

Returns true if the queue is full, false otherwise.

Signature

declare function isFull<A>(self: MutableQueue<A>): boolean
Since v2.0.0

Returns the current number of elements in the queue.

Signature

declare function length<A>(self: MutableQueue<A>): number

Model

MutableQueue

interface
Since v2.0.0

Signature

interface MutableQueue<out A> extends Iterable<A>, Pipeable, Inspectable {
readonly [TypeId]: typeof TypeId;
}

Other

Since v2.0.0

Offers an element to the queue.

Returns whether the enqueue was successful or not.

Signature

declare const offer: {
<A>(self: MutableQueue<A>, value: A): boolean;
<A>(value: A): (self: MutableQueue<A>) => boolean;
}
Since v2.0.0

Enqueues a collection of values into the queue.

Returns a Chunk of the values that were not able to be enqueued.

Signature

declare const offerAll: {
<A>(values: Iterable<A>): (self: MutableQueue<A>) => Chunk<A>;
<A>(self: MutableQueue<A>, values: Iterable<A>): Chunk<A>;
}
Since v2.0.0

Dequeues an element from the queue.

Returns either an element from the queue, or the def param.

Note: if there is no meaningful default for your type, you can always use poll(MutableQueue.EmptyMutableQueue).

Signature

declare const poll: {
<D>(def: D): <A>(self: MutableQueue<A>) => D | A;
<A, D>(self: MutableQueue<A>, def: D): A | D;
}
Since v2.0.0

Dequeues up to n elements from the queue.

Returns a List of up to n elements.

Signature

declare const pollUpTo: {
(n: number): <A>(self: MutableQueue<A>) => Chunk<A>;
<A>(self: MutableQueue<A>, n: number): Chunk<A>;
}

Symbol

Signature

declare const EmptyMutableQueue: typeof EmptyMutableQueue
Since v2.0.0

Signature

type TypeId = typeof TypeId