Skip to content

Commit

Permalink
Merge pull request #2083 from Microsoft/iterators
Browse files Browse the repository at this point in the history
Split Iterator into Iterator and IterableIterator in es6.d.ts
  • Loading branch information
JsonFreeman committed Feb 23, 2015
2 parents a27d19d + 7711a45 commit 50f9ce4
Showing 1 changed file with 60 additions and 54 deletions.
114 changes: 60 additions & 54 deletions src/lib/es6.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,22 +230,22 @@ interface ArrayLike<T> {

interface Array<T> {
/** Iterator */
[Symbol.iterator] (): Iterator<T>;
[Symbol.iterator](): IterableIterator<T>;

/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, T]>;
entries(): IterableIterator<[number, T]>;

/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns an list of values in the array
*/
values(): Iterator<T>;
values(): IterableIterator<T>;

/**
* Returns the value of the first element in the array where predicate is true, and undefined
Expand Down Expand Up @@ -329,7 +329,7 @@ interface ArrayConstructor {

interface String {
/** Iterator */
[Symbol.iterator] (): Iterator<string>;
[Symbol.iterator](): IterableIterator<string>;

/**
* Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point
Expand Down Expand Up @@ -447,14 +447,19 @@ interface IteratorResult<T> {
}

interface Iterator<T> {
[Symbol.iterator](): Iterator<T>;
next(): IteratorResult<T>;
return?(value?: any): IteratorResult<T>;
throw?(e?: any): IteratorResult<T>;
}

interface Iterable<T> {
[Symbol.iterator](): Iterator<T>;
}

interface IterableIterator<T> extends Iterator<T> {
[Symbol.iterator](): IterableIterator<T>;
}

interface GeneratorFunction extends Function {

}
Expand All @@ -470,10 +475,11 @@ interface GeneratorFunctionConstructor {
}
declare var GeneratorFunction: GeneratorFunctionConstructor;

interface Generator<T> extends Iterator<T> {
interface Generator<T> extends IterableIterator<T> {
next(value?: any): IteratorResult<T>;
throw (exception: any): IteratorResult<T>;
return (value: T): IteratorResult<T>;
throw(exception: any): IteratorResult<T>;
return(value: T): IteratorResult<T>;
[Symbol.iterator](): Generator<T>;
[Symbol.toStringTag]: string;
}

Expand Down Expand Up @@ -641,15 +647,15 @@ interface RegExp {
interface Map<K, V> {
clear(): void;
delete(key: K): boolean;
entries(): Iterator<[K, V]>;
entries(): IterableIterator<[K, V]>;
forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
get(key: K): V;
has(key: K): boolean;
keys(): Iterator<K>;
keys(): IterableIterator<K>;
set(key: K, value?: V): Map<K, V>;
size: number;
values(): Iterator<V>;
[Symbol.iterator]():Iterator<[K,V]>;
values(): IterableIterator<V>;
[Symbol.iterator]():IterableIterator<[K,V]>;
[Symbol.toStringTag]: string;
}

Expand Down Expand Up @@ -680,13 +686,13 @@ interface Set<T> {
add(value: T): Set<T>;
clear(): void;
delete(value: T): boolean;
entries(): Iterator<[T, T]>;
entries(): IterableIterator<[T, T]>;
forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
has(value: T): boolean;
keys(): Iterator<T>;
keys(): IterableIterator<T>;
size: number;
values(): Iterator<T>;
[Symbol.iterator]():Iterator<T>;
values(): IterableIterator<T>;
[Symbol.iterator]():IterableIterator<T>;
[Symbol.toStringTag]: string;
}

Expand Down Expand Up @@ -917,7 +923,7 @@ interface Int8Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -997,7 +1003,7 @@ interface Int8Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -1134,10 +1140,10 @@ interface Int8Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Int8ArrayConstructor {
Expand Down Expand Up @@ -1207,7 +1213,7 @@ interface Uint8Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -1287,7 +1293,7 @@ interface Uint8Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -1424,10 +1430,10 @@ interface Uint8Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Uint8ArrayConstructor {
Expand Down Expand Up @@ -1497,7 +1503,7 @@ interface Uint8ClampedArray {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -1577,7 +1583,7 @@ interface Uint8ClampedArray {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -1714,10 +1720,10 @@ interface Uint8ClampedArray {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Uint8ClampedArrayConstructor {
Expand Down Expand Up @@ -1787,7 +1793,7 @@ interface Int16Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -1867,7 +1873,7 @@ interface Int16Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -2004,10 +2010,10 @@ interface Int16Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Int16ArrayConstructor {
Expand Down Expand Up @@ -2077,7 +2083,7 @@ interface Uint16Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -2157,7 +2163,7 @@ interface Uint16Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -2294,10 +2300,10 @@ interface Uint16Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Uint16ArrayConstructor {
Expand Down Expand Up @@ -2367,7 +2373,7 @@ interface Int32Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -2447,7 +2453,7 @@ interface Int32Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -2584,10 +2590,10 @@ interface Int32Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Int32ArrayConstructor {
Expand Down Expand Up @@ -2657,7 +2663,7 @@ interface Uint32Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -2737,7 +2743,7 @@ interface Uint32Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -2874,10 +2880,10 @@ interface Uint32Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Uint32ArrayConstructor {
Expand Down Expand Up @@ -2947,7 +2953,7 @@ interface Float32Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -3027,7 +3033,7 @@ interface Float32Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -3164,10 +3170,10 @@ interface Float32Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Float32ArrayConstructor {
Expand Down Expand Up @@ -3237,7 +3243,7 @@ interface Float64Array {
/**
* Returns an array of key, value pairs for every entry in the array
*/
entries(): Iterator<[number, number]>;
entries(): IterableIterator<[number, number]>;

/**
* Determines whether all the members of an array satisfy the specified test.
Expand Down Expand Up @@ -3317,7 +3323,7 @@ interface Float64Array {
/**
* Returns an list of keys in the array
*/
keys(): Iterator<number>;
keys(): IterableIterator<number>;

/**
* Returns the index of the last occurrence of a value in an array.
Expand Down Expand Up @@ -3454,10 +3460,10 @@ interface Float64Array {
/**
* Returns an list of values in the array
*/
values(): Iterator<number>;
values(): IterableIterator<number>;

[index: number]: number;
[Symbol.iterator] (): Iterator<number>;
[Symbol.iterator](): IterableIterator<number>;
}

interface Float64ArrayConstructor {
Expand Down Expand Up @@ -3516,7 +3522,7 @@ declare var Reflect: {
construct(target: Function, argumentsList: ArrayLike<any>): any;
defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean;
deleteProperty(target: any, propertyKey: PropertyKey): boolean;
enumerate(target: any): Iterator<any>;
enumerate(target: any): IterableIterator<any>;
get(target: any, propertyKey: PropertyKey, receiver?: any): any;
getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor;
getPrototypeOf(target: any): any;
Expand Down

0 comments on commit 50f9ce4

Please sign in to comment.