TPriorityQueue overview
Added in v1.0.0
Table of contents
constructors
empty
Constructs a new empty TPriorityQueue
with the specified Order
.
Signature
export declare const empty: <A>(order: Order.Order<A>) => STM.STM<never, never, TPriorityQueue<A>>
Added in v1.0.0
fromIterable
Makes a new TPriorityQueue
initialized with provided iterable.
Signature
export declare const fromIterable: <A>(
order: Order.Order<A>
) => (iterable: Iterable<A>) => STM.STM<never, never, TPriorityQueue<A>>
Added in v1.0.0
make
Makes a new TPriorityQueue
that is initialized with specified values.
Signature
export declare const make: <A>(order: Order.Order<A>) => (...elements: A[]) => STM.STM<never, never, TPriorityQueue<A>>
Added in v1.0.0
destructors
toArray
Collects all values into a chunk.
Signature
export declare const toArray: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, A[]>
Added in v1.0.0
toReadonlyArray
Collects all values into an array.
Signature
export declare const toReadonlyArray: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, readonly A[]>
Added in v1.0.0
getters
isEmpty
Checks whether the queue is empty.
Signature
export declare const isEmpty: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, boolean>
Added in v1.0.0
isNonEmpty
Checks whether the queue is not empty.
Signature
export declare const isNonEmpty: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, boolean>
Added in v1.0.0
peek
Peeks at the first value in the queue without removing it, retrying until a value is in the queue.
Signature
export declare const peek: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, A>
Added in v1.0.0
peekOption
Peeks at the first value in the queue without removing it, returning None
if there is not a value in the queue.
Signature
export declare const peekOption: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, Option.Option<A>>
Added in v1.0.0
removeIf
Removes all elements from the queue matching the specified predicate.
Signature
export declare const removeIf: {
<A>(predicate: Predicate<A>): (self: TPriorityQueue<A>) => STM.STM<never, never, void>
<A>(self: TPriorityQueue<A>, predicate: Predicate<A>): STM.STM<never, never, void>
}
Added in v1.0.0
retainIf
Retains only elements from the queue matching the specified predicate.
Signature
export declare const retainIf: {
<A>(predicate: Predicate<A>): (self: TPriorityQueue<A>) => STM.STM<never, never, void>
<A>(self: TPriorityQueue<A>, predicate: Predicate<A>): STM.STM<never, never, void>
}
Added in v1.0.0
size
Returns the size of the queue.
Signature
export declare const size: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, number>
Added in v1.0.0
models
TPriorityQueue (interface)
A TPriorityQueue
contains values of type A
that an Order
is defined on. Unlike a TQueue
, take
returns the highest priority value (the value that is first in the specified ordering) as opposed to the first value offered to the queue. The ordering that elements with the same priority will be taken from the queue is not guaranteed.
Signature
export interface TPriorityQueue<A> extends TPriorityQueue.Variance<A> {}
Added in v1.0.0
mutations
offer
Offers the specified value to the queue.
Signature
export declare const offer: {
<A>(value: A): (self: TPriorityQueue<A>) => STM.STM<never, never, void>
<A>(self: TPriorityQueue<A>, value: A): STM.STM<never, never, void>
}
Added in v1.0.0
offerAll
Offers all of the elements in the specified collection to the queue.
Signature
export declare const offerAll: {
<A>(values: Iterable<A>): (self: TPriorityQueue<A>) => STM.STM<never, never, void>
<A>(self: TPriorityQueue<A>, values: Iterable<A>): STM.STM<never, never, void>
}
Added in v1.0.0
take
Takes a value from the queue, retrying until a value is in the queue.
Signature
export declare const take: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, A>
Added in v1.0.0
takeAll
Takes all values from the queue.
Signature
export declare const takeAll: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, A[]>
Added in v1.0.0
takeOption
Takes a value from the queue, returning None
if there is not a value in the queue.
Signature
export declare const takeOption: <A>(self: TPriorityQueue<A>) => STM.STM<never, never, Option.Option<A>>
Added in v1.0.0
takeUpTo
Takes up to the specified maximum number of elements from the queue.
Signature
export declare const takeUpTo: {
(n: number): <A>(self: TPriorityQueue<A>) => STM.STM<never, never, A[]>
<A>(self: TPriorityQueue<A>, n: number): STM.STM<never, never, A[]>
}
Added in v1.0.0
symbols
TPriorityQueueTypeId
Signature
export declare const TPriorityQueueTypeId: typeof TPriorityQueueTypeId
Added in v1.0.0
TPriorityQueueTypeId (type alias)
Signature
export type TPriorityQueueTypeId = typeof TPriorityQueueTypeId
Added in v1.0.0
utils
TPriorityQueue (namespace)
Added in v1.0.0
Variance (interface)
Signature
export interface Variance<A> {
readonly [TPriorityQueueTypeId]: {
readonly _A: (_: never) => A
}
}
Added in v1.0.0