Skip to content

useQueue

Category
Export Size
183 B
Last Changed
5 days ago

State hook that implements a simple FIFO queue.

Demo

Usage

tsx
import { 
useQueue
} from '@reause/shared'
const
queue
=
useQueue
([1, 2, 3])
queue
.
first
// 1
queue
.
last
// 3
queue
.
size
// 3
queue
.
add
(4) // the queue becomes [1, 2, 3, 4]
queue
.
remove
() // 1 — while the queue's fiber is idle, see below
queue
.
size
// 3

Type Declarations

ts
export interface QueueMethods<T> {
    add: (item: T) => void;
    remove: () => T;
    first: T;
    last: T;
    size: number;
}

export function useQueue<T>(initialValue?: T[]): QueueMethods<T>

Source

Source · Demo

Contributors

hairyf

Changelog

v0.1.7 on
cdd17 - feat(shared): add useQueue (#925)

Released under the MIT License. v0.1.8