Options
All
  • Public
  • Public/Protected
  • All
Menu

First-in-first-out (FIFO) queue.

Hierarchy

  • FIFO

Index

Constructors

Properties

Methods

Constructors

constructor

  • First-in-first-out queue constructor.

    Returns FIFO

    FIFO queue instance

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Remove the first value:
    var v = queue.pop();
    // returns 'foo'
    
    // Add a new value to the queue:
    queue.push( 'beep' );
    
    // Remove the "oldest" queue value:
    v = queue.pop();
    // returns 'bar'

Properties

length

length: number

Queue length.

Methods

clear

  • Clears the queue.

    Returns FIFO

    queue instance

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Peek at the first value:
    var v = queue.first();
    // returns 'foo'
    
    // Examine the queue length:
    var len = queue.length;
    // returns 2
    
    // Clear all queue items:
    queue.clear();
    
    // Peek at the first value:
    v = queue.first();
    // returns undefined
    
    // Examine the queue length:
    len = queue.length;
    // returns 0

first

  • first(): any
  • Returns the "oldest" queue value (i.e., the value which is "first-out").

    Returns any

    "oldest" queue value

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Peek at the first value:
    var v = queue.first();
    // returns 'foo'

iterator

  • Returns an iterator for iterating over a queue.

    Notes

    • In order to prevent confusion arising from queue mutation during iteration, a returned iterator always iterates over a queue "snapshot", which is defined as the list of queue elements at the time of this method's invocation.

    Returns IterableIterator

    iterator

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Create an iterator:
    var it = queue.iterator();
    
    // Iterate over the queue...
    var v = it.next().value;
    // returns 'foo'
    
    v = it.next().value;
    // returns 'bar'
    
    var bool = it.next().done;
    // returns true

last

  • last(): any
  • Returns the "newest" queue value (i.e., the value which is currently "last-out").

    Returns any

    "newest" queue value

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Peek at the last value:
    var v = queue.last();
    // returns 'bar'

pop

  • pop(): any
  • Removes a value from the queue.

    Returns any

    removed value

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Remove the first value:
    var v = queue.pop();
    // returns 'foo'
    
    // Add a new value to the queue:
    queue.push( 'beep' );
    
    // Remove the "oldest" queue value:
    v = queue.pop();
    // returns 'bar'

push

  • Adds a value to the queue.

    Returns FIFO

    queue instance

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Remove the first value:
    var v = queue.pop();
    // returns 'foo'
    
    // Add a new value to the queue:
    queue.push( 'beep' );
    
    // Remove the "oldest" queue value:
    v = queue.pop();
    // returns 'bar'

toArray

  • toArray(): Array<any>
  • Returns an array of queue values.

    Returns Array < any >

    queue values

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Get an array of queue values:
    var vals = queue.toArray();
    // returns [ 'foo', 'bar' ]

toJSON

  • toJSON(): any
  • Serializes a queue as JSON.

    Notes

    • JSON.stringify() implicitly calls this method when stringifying a FIFO instance.

    Returns any

    serialized queue

    Example

    var queue = new FIFO();
    
    // Add values to the queue:
    queue.push( 'foo' ).push( 'bar' );
    
    // Serialize to JSON:
    var o = queue.toJSON();
    // returns { 'type': 'fifo', 'data': [ 'foo', 'bar' ] }