ixfx
    Preparing search index...

    Class PriorityMutable<V>

    Simple priority queue implementation. Higher numbers mean higher priority.

    const pm = new PriorityMutable();

    // Add items with a priority (higher numeric value = higher value)
    pm.enqueueWithPriority(`hello`, 4);
    pm.enqueueWithPriotity(`there`, 1);

    Type Parameters

    • V

    Hierarchy (View Summary)

    Implements

    Constructors

    Properties

    data: readonly Readonly<{ item: V; priority: number }>[]
    eq: IsEqual<Readonly<{ item: V; priority: number }>>
    options: QueueOpts<Readonly<{ item: V; priority: number }>>

    Accessors

    • get isDisposed(): boolean

      Returns boolean

    • 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

    • Returns the item at given rank (0 being front of queue)

      Parameters

      • index: number

      Returns Readonly

    • Parameters

      • item: V
      • priority: number
      • addIfMissing: boolean = false
      • Optionaleq: IsEqual<V>

      Returns void

    • Dequeues (removes oldest item / item at front of queue)

      Use peek to look at the item at front of queue without removing it.

      Returns undefined | Readonly<{ item: V; priority: number }>

      Item, or undefined if queue is empty

    • Enqueues (adds items to back of queue). If a capacity is set, not all items might be added.

      Parameters

      • ...toAdd: readonly Readonly<{ item: V; priority: number }>[]

      Returns number

      How many items were added

    • Adds an item with a given priority

      Parameters

      • item: V

        Item

      • priority: number

        Priority (higher numeric value means higher priority)

      Returns void

    • Parameters

      • result: readonly Readonly<{ item: V; priority: number }>[]
      • attemptedToAdd: readonly Readonly<{ item: V; priority: number }>[]

      Returns void

    • Parameters

      • removed: readonly Readonly<{ item: V; priority: number }>[]
      • finalData: readonly Readonly<{ item: V; priority: number }>[]

      Returns void

    • Peeks at the item with highest priority without removing it. undefined if queue is empty.

      Returns undefined | V

    • Peeks at the item with the lowest priority without removing it. undefined if queue is empty.

      Returns undefined | V

    • Removes values that match predicate.

      Parameters

      • predicate: (item: Readonly) => boolean

      Returns number

      Returns number of items removed.