File tree 1 file changed +40
-0
lines changed
1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -136,6 +136,46 @@ export class LinkedMap<K, V> {
136
136
}
137
137
}
138
138
139
+ /* JSON RPC run on es5 which has no Symbol.iterator
140
+ public keys(): IterableIterator<K> {
141
+ let current = this._head;
142
+ let iterator: IterableIterator<K> = {
143
+ [Symbol.iterator]() {
144
+ return iterator;
145
+ },
146
+ next():IteratorResult<K> {
147
+ if (current) {
148
+ let result = { value: current.key, done: false };
149
+ current = current.next;
150
+ return result;
151
+ } else {
152
+ return { value: undefined, done: true };
153
+ }
154
+ }
155
+ };
156
+ return iterator;
157
+ }
158
+
159
+ public values(): IterableIterator<V> {
160
+ let current = this._head;
161
+ let iterator: IterableIterator<V> = {
162
+ [Symbol.iterator]() {
163
+ return iterator;
164
+ },
165
+ next():IteratorResult<V> {
166
+ if (current) {
167
+ let result = { value: current.value, done: false };
168
+ current = current.next;
169
+ return result;
170
+ } else {
171
+ return { value: undefined, done: true };
172
+ }
173
+ }
174
+ };
175
+ return iterator;
176
+ }
177
+ */
178
+
139
179
private addItemFirst ( item : Item < K , V > ) : void {
140
180
// First time Insert
141
181
if ( ! this . _head && ! this . _tail ) {
You can’t perform that action at this time.
0 commit comments