You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							57 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							57 lines
						
					
					
						
							1.1 KiB
						
					
					
				declare class Queue<ValueType> implements Iterable<ValueType> {
 | 
						|
	/**
 | 
						|
	The size of the queue.
 | 
						|
	*/
 | 
						|
	readonly size: number;
 | 
						|
 | 
						|
	/**
 | 
						|
	Tiny queue data structure.
 | 
						|
 | 
						|
	The instance is an [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols), which means you can iterate over the queue front to back with a “for…of” loop, or use spreading to convert the queue to an array. Don't do this unless you really need to though, since it's slow.
 | 
						|
 | 
						|
	@example
 | 
						|
	```
 | 
						|
	import Queue = require('yocto-queue');
 | 
						|
 | 
						|
	const queue = new Queue();
 | 
						|
 | 
						|
	queue.enqueue('🦄');
 | 
						|
	queue.enqueue('🌈');
 | 
						|
 | 
						|
	console.log(queue.size);
 | 
						|
	//=> 2
 | 
						|
 | 
						|
	console.log(...queue);
 | 
						|
	//=> '🦄 🌈'
 | 
						|
 | 
						|
	console.log(queue.dequeue());
 | 
						|
	//=> '🦄'
 | 
						|
 | 
						|
	console.log(queue.dequeue());
 | 
						|
	//=> '🌈'
 | 
						|
	```
 | 
						|
	*/
 | 
						|
	constructor();
 | 
						|
 | 
						|
	[Symbol.iterator](): IterableIterator<ValueType>;
 | 
						|
 | 
						|
	/**
 | 
						|
	Add a value to the queue.
 | 
						|
	*/
 | 
						|
	enqueue(value: ValueType): void;
 | 
						|
 | 
						|
	/**
 | 
						|
	Remove the next value in the queue.
 | 
						|
 | 
						|
	@returns The removed value or `undefined` if the queue is empty.
 | 
						|
	*/
 | 
						|
	dequeue(): ValueType | undefined;
 | 
						|
 | 
						|
	/**
 | 
						|
	Clear the queue.
 | 
						|
	*/
 | 
						|
	clear(): void;
 | 
						|
}
 | 
						|
 | 
						|
export = Queue;
 |