add iarrayenumerator
This commit is contained in:
parent
c4e96e6cf6
commit
7f5561a0cc
1 changed files with 5 additions and 1 deletions
|
@ -21,6 +21,10 @@ export interface IEnumerator<T> {
|
||||||
toIterator<T>(): Iterator<T>
|
toIterator<T>(): Iterator<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IArrayEnumerator<T> extends IEnumerator<T> {
|
||||||
|
setIndex(index: number): void
|
||||||
|
}
|
||||||
|
|
||||||
export interface IEnumerable<T> {
|
export interface IEnumerable<T> {
|
||||||
enumerator(): IEnumerator<T>
|
enumerator(): IEnumerator<T>
|
||||||
}
|
}
|
||||||
|
@ -224,7 +228,7 @@ function toArrayLikeBuffer<T extends ArrayBufferView>(buffer: T): T & ArrayLike<
|
||||||
|
|
||||||
type ArrayType<T extends ArrayLike<any> | ArrayBufferView> = T extends ArrayLike<infer U> ? U : T extends ArrayBufferTypes ? number : never
|
type ArrayType<T extends ArrayLike<any> | ArrayBufferView> = T extends ArrayLike<infer U> ? U : T extends ArrayBufferTypes ? number : never
|
||||||
|
|
||||||
export class ArrayEnumerator<T> implements IEnumerator<T>, Iterator<T>, Iterable<T> {
|
export class ArrayEnumerator<T> implements IArrayEnumerator<T>, Iterator<T>, Iterable<T> {
|
||||||
private _array: ArrayLike<T>
|
private _array: ArrayLike<T>
|
||||||
private _index: number = -1
|
private _index: number = -1
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue