48 lines
		
	
	
		
			730 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			730 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | declare class Denque<T = any> { | ||
|  |   length: number; | ||
|  | 
 | ||
|  |   constructor(); | ||
|  | 
 | ||
|  |   constructor(array: T[]); | ||
|  | 
 | ||
|  |   constructor(array: T[], options: IDenqueOptions); | ||
|  | 
 | ||
|  |   push(item: T): number; | ||
|  | 
 | ||
|  |   unshift(item: T): number; | ||
|  | 
 | ||
|  |   pop(): T | undefined; | ||
|  | 
 | ||
|  |   shift(): T | undefined; | ||
|  | 
 | ||
|  |   peekBack(): T | undefined; | ||
|  | 
 | ||
|  |   peekFront(): T | undefined; | ||
|  | 
 | ||
|  |   peekAt(index: number): T | undefined; | ||
|  | 
 | ||
|  |   get(index: number): T | undefined; | ||
|  | 
 | ||
|  |   remove(index: number, count: number): T[]; | ||
|  | 
 | ||
|  |   removeOne(index: number): T | undefined; | ||
|  | 
 | ||
|  |   splice(index: number, count: number, ...item: T[]): T[] | undefined; | ||
|  | 
 | ||
|  |   isEmpty(): boolean; | ||
|  | 
 | ||
|  |   clear(): void; | ||
|  | 
 | ||
|  |   size(): number; | ||
|  | 
 | ||
|  |   toString(): string; | ||
|  | 
 | ||
|  |   toArray(): T[]; | ||
|  | } | ||
|  | 
 | ||
|  | interface IDenqueOptions { | ||
|  |   capacity?: number | ||
|  | } | ||
|  | 
 | ||
|  | export = Denque; |