HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/current/node_modules/rx/ts/core/internal/priorityqueue.ts
/// <reference path="../concurrency/scheduleditem.ts" />
module Rx {
    export module internals {
        // Priority Queue for Scheduling
        export interface PriorityQueue<TTime> {
            length: number;

            isHigherPriority(left: number, right: number): boolean;
            percolate(index: number): void;
            heapify(index: number): void;
            peek(): ScheduledItem<TTime>;
            removeAt(index: number): void;
            dequeue(): ScheduledItem<TTime>;
            enqueue(item: ScheduledItem<TTime>): void;
            remove(item: ScheduledItem<TTime>): boolean;
        }

        interface PriorityQueueStatic {
                new <T>(capacity: number) : PriorityQueue<T>;
                count: number;
        }

        export var PriorityQueue : PriorityQueueStatic;
    }
}

(function() {
    var queue = new Rx.internals.PriorityQueue<number>(100);
    var n : number = queue.length
    var b : boolean = queue.isHigherPriority(1, 100);
    queue.percolate(100);
    queue.heapify(100);
    var item: Rx.internals.ScheduledItem<number> = queue.peek();
    queue.removeAt(100);
    var item: Rx.internals.ScheduledItem<number> = queue.dequeue();
    queue.enqueue(item);
    b = queue.remove(item);

    n = Rx.internals.PriorityQueue.count;
});