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.
		
		
		
		
		
			
		
			
				
					
					
						
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				/**
 | 
						|
 * Mnemonist Vector Typings
 | 
						|
 * =========================
 | 
						|
 */
 | 
						|
import {IArrayLikeConstructor} from './utils/types';
 | 
						|
 | 
						|
type VectorOptions = {
 | 
						|
  initialLength?: number;
 | 
						|
  initialCapacity?: number;
 | 
						|
  policy?: (capacity: number) => number;
 | 
						|
}
 | 
						|
 | 
						|
export default class Vector implements Iterable<number> {
 | 
						|
 | 
						|
  // Members
 | 
						|
  capacity: number;
 | 
						|
  length: number;
 | 
						|
  size: number;
 | 
						|
 | 
						|
  // Constructor
 | 
						|
  constructor(ArrayClass: IArrayLikeConstructor, length: number | VectorOptions);
 | 
						|
 | 
						|
  // Methods
 | 
						|
  clear(): void;
 | 
						|
  set(index: number, value: number): this;
 | 
						|
  reallocate(capacity: number): this;
 | 
						|
  grow(capacity?: number): this;
 | 
						|
  resize(length: number): this;
 | 
						|
  push(value: number): number;
 | 
						|
  pop(): number | undefined;
 | 
						|
  get(index: number): number;
 | 
						|
  forEach(callback: (index: number, value: number, set: this) => void, scope?: any): void;
 | 
						|
  values(): IterableIterator<number>;
 | 
						|
  entries(): IterableIterator<[number, number]>;
 | 
						|
  [Symbol.iterator](): IterableIterator<number>;
 | 
						|
  inspect(): any;
 | 
						|
  toJSON(): any;
 | 
						|
 | 
						|
  // Statics
 | 
						|
  static from<I>(iterable: Iterable<I> | {[key: string]: I}, ArrayClass: IArrayLikeConstructor, capacity?: number): Vector;
 | 
						|
}
 | 
						|
 | 
						|
declare class TypedVector implements Iterable<number> {
 | 
						|
 | 
						|
  // Members
 | 
						|
  capacity: number;
 | 
						|
  length: number;
 | 
						|
  size: number;
 | 
						|
 | 
						|
  // Constructor
 | 
						|
  constructor(length: number | VectorOptions);
 | 
						|
 | 
						|
  // Methods
 | 
						|
  clear(): void;
 | 
						|
  set(index: number, value: number): this;
 | 
						|
  reallocate(capacity: number): this;
 | 
						|
  grow(capacity?: number): this;
 | 
						|
  resize(length: number): this;
 | 
						|
  push(value: number): number;
 | 
						|
  pop(): number | undefined;
 | 
						|
  get(index: number): number;
 | 
						|
  forEach(callback: (index: number, value: number, set: this) => void, scope?: any): void;
 | 
						|
  values(): IterableIterator<number>;
 | 
						|
  entries(): IterableIterator<[number, number]>;
 | 
						|
  [Symbol.iterator](): IterableIterator<number>;
 | 
						|
  inspect(): any;
 | 
						|
  toJSON(): any;
 | 
						|
 | 
						|
  // Statics
 | 
						|
  static from<I>(iterable: Iterable<I> | {[key: string]: I}, capacity?: number): TypedVector;
 | 
						|
}
 | 
						|
 | 
						|
export class Int8Vector extends TypedVector {}
 | 
						|
export class Uint8Vector extends TypedVector {}
 | 
						|
export class Uint8ClampedVector extends TypedVector {}
 | 
						|
export class Int16Vector extends TypedVector {}
 | 
						|
export class Uint16Vector extends TypedVector {}
 | 
						|
export class Int32Vector extends TypedVector {}
 | 
						|
export class Uint32Vector extends TypedVector {}
 | 
						|
export class Float32Vector extends TypedVector {}
 | 
						|
export class Float64Array extends TypedVector {}
 |