Skip to content

Commit bb57bdc

Browse files
committed
Update linked map
1 parent f1d203e commit bb57bdc

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

jsonrpc/src/linkedMap.ts

+40
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,46 @@ export class LinkedMap<K, V> {
136136
}
137137
}
138138

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+
139179
private addItemFirst(item: Item<K, V>): void {
140180
// First time Insert
141181
if (!this._head && !this._tail) {

0 commit comments

Comments
 (0)