Skip to content

Commit 7080c41

Browse files
authored
Merge pull request microsoft#15451 from rictic/iterables-for-readonly-collections
Declare iterable methods for Readonly collections.
2 parents 3d23b9c + 0e74053 commit 7080c41

File tree

1 file changed

+71
-7
lines changed

1 file changed

+71
-7
lines changed

src/lib/es2015.iterable.d.ts

+71-7
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ interface Array<T> {
3232
[Symbol.iterator](): IterableIterator<T>;
3333

3434
/**
35-
* Returns an array of key, value pairs for every entry in the array
35+
* Returns an iterable of key, value pairs for every entry in the array
3636
*/
3737
entries(): IterableIterator<[number, T]>;
3838

3939
/**
40-
* Returns an list of keys in the array
40+
* Returns an iterable of keys in the array
4141
*/
4242
keys(): IterableIterator<number>;
4343

4444
/**
45-
* Returns an list of values in the array
45+
* Returns an iterable of values in the array
4646
*/
4747
values(): IterableIterator<T>;
4848
}
@@ -66,21 +66,21 @@ interface ArrayConstructor {
6666
}
6767

6868
interface ReadonlyArray<T> {
69-
/** Iterator */
69+
/** Iterator of values in the array. */
7070
[Symbol.iterator](): IterableIterator<T>;
7171

7272
/**
73-
* Returns an array of key, value pairs for every entry in the array
73+
* Returns an iterable of key, value pairs for every entry in the array
7474
*/
7575
entries(): IterableIterator<[number, T]>;
7676

7777
/**
78-
* Returns an list of keys in the array
78+
* Returns an iterable of keys in the array
7979
*/
8080
keys(): IterableIterator<number>;
8181

8282
/**
83-
* Returns an list of values in the array
83+
* Returns an iterable of values in the array
8484
*/
8585
values(): IterableIterator<T>;
8686
}
@@ -91,9 +91,42 @@ interface IArguments {
9191
}
9292

9393
interface Map<K, V> {
94+
/** Returns an iterable of entries in the map. */
9495
[Symbol.iterator](): IterableIterator<[K, V]>;
96+
97+
/**
98+
* Returns an iterable of key, value pairs for every entry in the map.
99+
*/
95100
entries(): IterableIterator<[K, V]>;
101+
102+
/**
103+
* Returns an iterable of keys in the map
104+
*/
96105
keys(): IterableIterator<K>;
106+
107+
/**
108+
* Returns an iterable of values in the map
109+
*/
110+
values(): IterableIterator<V>;
111+
}
112+
113+
interface ReadonlyMap<K, V> {
114+
/** Returns an iterable of entries in the map. */
115+
[Symbol.iterator](): IterableIterator<[K, V]>;
116+
117+
/**
118+
* Returns an iterable of key, value pairs for every entry in the map.
119+
*/
120+
entries(): IterableIterator<[K, V]>;
121+
122+
/**
123+
* Returns an iterable of keys in the map
124+
*/
125+
keys(): IterableIterator<K>;
126+
127+
/**
128+
* Returns an iterable of values in the map
129+
*/
97130
values(): IterableIterator<V>;
98131
}
99132

@@ -108,9 +141,40 @@ interface WeakMapConstructor {
108141
}
109142

110143
interface Set<T> {
144+
/** Iterates over values in the set. */
145+
[Symbol.iterator](): IterableIterator<T>;
146+
/**
147+
* Returns an iterable of [v,v] pairs for every value `v` in the set.
148+
*/
149+
entries(): IterableIterator<[T, T]>;
150+
/**
151+
* Despite its name, returns an iterable of the values in the set,
152+
*/
153+
keys(): IterableIterator<T>;
154+
155+
/**
156+
* Returns an iterable of values in the set.
157+
*/
158+
values(): IterableIterator<T>;
159+
}
160+
161+
interface ReadonlySet<T> {
162+
/** Iterates over values in the set. */
111163
[Symbol.iterator](): IterableIterator<T>;
164+
165+
/**
166+
* Returns an iterable of [v,v] pairs for every value `v` in the set.
167+
*/
112168
entries(): IterableIterator<[T, T]>;
169+
170+
/**
171+
* Despite its name, returns an iterable of the values in the set,
172+
*/
113173
keys(): IterableIterator<T>;
174+
175+
/**
176+
* Returns an iterable of values in the set.
177+
*/
114178
values(): IterableIterator<T>;
115179
}
116180

0 commit comments

Comments
 (0)