ixfx
    Preparing search index...

    Class QueueImmutable<V>

    Queue (immutable). See also QueueMutable.

    Queues are useful if you want to treat 'older' or 'newer' items differently. Enqueing adds items at the back of the queue, while dequeing removes items from the front (ie. the oldest).

    let q = queue();           // Create
    q = q.enqueue(`a`, `b`); // Add two strings
    const front = q.peek; // `a` is at the front of queue (oldest)
    q = q.dequeue(); // q now just consists of `b`
    const q = queue({capacity: 5, discardPolicy: `newer`});
    

    Type Parameters

    • V

    Implements

    Constructors

    • Creates an instance of Queue.

      Type Parameters

      • V

      Parameters

      • opts: QueueOpts<V> = {}

        Options foor queue

      • data: readonly V[] = []

        Initial data. Index 0 is front of queue

      Returns QueueImmutable<V>

    Properties

    opts: QueueOpts<V>

    Accessors

    • get isEmpty(): boolean

      Returns true if queue is empty

      Returns boolean

    • get isFull(): boolean

      Is queue full? Returns false if no capacity has been set

      Returns boolean

    • get length(): number

      Number of items in queue

      Returns number

    • get peek(): undefined | V

      Returns front of queue (oldest item), or undefined if queue is empty

      Returns undefined | V

    Methods

    • Enumerates queue from back-to-front

      Parameters

      • fn: (v: V) => void

      Returns void

    • Enumerates queue from front-to-back

      Parameters

      • fn: (v: V) => void

      Returns void