ktongue's picture
download
raw
1.61 kB
/** @template T */
export default class FlatQueue<T> {
/** @type T[] */
ids: T[];
/** @type number[] */
values: number[];
/** Number of items in the queue. */
length: number;
/** Removes all items from the queue. */
clear(): void;
/**
* Adds `item` to the queue with the specified `priority`.
*
* `priority` must be a number. Items are sorted and returned from low to high priority. Multiple items
* with the same priority value can be added to the queue, but there is no guaranteed order between these items.
*
* @param {T} item
* @param {number} priority
*/
push(item: T, priority: number): void;
/**
* Removes and returns the item from the head of this queue, which is one of
* the items with the lowest priority. If this queue is empty, returns `undefined`.
*/
pop(): T | undefined;
/** Returns the item from the head of this queue without removing it. If this queue is empty, returns `undefined`. */
peek(): T | undefined;
/**
* Returns the priority value of the item at the head of this queue without
* removing it. If this queue is empty, returns `undefined`.
*/
peekValue(): number | undefined;
/**
* Shrinks the internal arrays to `this.length`.
*
* `pop()` and `clear()` calls don't free memory automatically to avoid unnecessary resize operations.
* This also means that items that have been added to the queue can't be garbage collected until
* a new item is pushed in their place, or this method is called.
*/
shrink(): void;
}

Xet Storage Details

Size:
1.61 kB
·
Xet hash:
a10491b8326b1e760d8392422f23bcd3294da507705fdc5366cc15e28c07e213

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.