PR review: Fix typo.
This commit is contained in:
parent
c0c71bf65e
commit
41bef5f77c
|
@ -124,33 +124,33 @@ namespace ts {
|
||||||
index = 0;
|
index = 0;
|
||||||
|
|
||||||
private shimMap: ShimMap<T>;
|
private shimMap: ShimMap<T>;
|
||||||
private originalIteratoKeys: string[];
|
private originalIteratorKeys: string[];
|
||||||
private selector: (data: MapLike<T>, key: string) => U;
|
private selector: (data: MapLike<T>, key: string) => U;
|
||||||
|
|
||||||
constructor(shimMap: ShimMap<T>, selector: (data: MapLike<T>, key: string) => U) {
|
constructor(shimMap: ShimMap<T>, selector: (data: MapLike<T>, key: string) => U) {
|
||||||
this.shimMap = shimMap;
|
this.shimMap = shimMap;
|
||||||
this.selector = selector;
|
this.selector = selector;
|
||||||
|
|
||||||
if (!shimMap.currentIteratoKeys) {
|
if (!shimMap.currentIteratorKeys) {
|
||||||
// Create the key array on the map over which we (and other new iterators)
|
// Create the key array on the map over which we (and other new iterators)
|
||||||
// will iterate.
|
// will iterate.
|
||||||
shimMap.currentIteratoKeys = Object.keys(shimMap.data);
|
shimMap.currentIteratorKeys = Object.keys(shimMap.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy the key array to allow us later to check if the map has cleared
|
// Copy the key array to allow us later to check if the map has cleared
|
||||||
// or replaced the array.
|
// or replaced the array.
|
||||||
this.originalIteratoKeys = shimMap.currentIteratoKeys;
|
this.originalIteratorKeys = shimMap.currentIteratorKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public next(): { value: U, done: false } | { value: never, done: true } {
|
public next(): { value: U, done: false } | { value: never, done: true } {
|
||||||
// Check if we still have the same key array. Otherwise, this means
|
// Check if we still have the same key array. Otherwise, this means
|
||||||
// an element has been deleted from the map in the meanwhile, so we
|
// an element has been deleted from the map in the meanwhile, so we
|
||||||
// cannot continue.
|
// cannot continue.
|
||||||
if (this.index !== -1 && this.originalIteratoKeys !== this.shimMap.currentIteratoKeys) {
|
if (this.index !== -1 && this.originalIteratorKeys !== this.shimMap.currentIteratorKeys) {
|
||||||
throw new Error("Cannot continue iteration because a map element has been deleted.");
|
throw new Error("Cannot continue iteration because a map element has been deleted.");
|
||||||
}
|
}
|
||||||
|
|
||||||
const iteratorKeys = this.originalIteratoKeys;
|
const iteratorKeys = this.originalIteratorKeys;
|
||||||
if (this.index !== -1 && this.index < iteratorKeys.length) {
|
if (this.index !== -1 && this.index < iteratorKeys.length) {
|
||||||
const index = this.index++;
|
const index = this.index++;
|
||||||
return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false };
|
return { value: this.selector(this.shimMap.data, iteratorKeys[index]), done: false };
|
||||||
|
@ -169,7 +169,7 @@ namespace ts {
|
||||||
|
|
||||||
data = createDictionaryObject<T>();
|
data = createDictionaryObject<T>();
|
||||||
|
|
||||||
currentIteratoKeys?: string[];
|
currentIteratorKeys?: string[];
|
||||||
|
|
||||||
get(key: string): T | undefined {
|
get(key: string): T | undefined {
|
||||||
return this.data[key];
|
return this.data[key];
|
||||||
|
@ -179,9 +179,9 @@ namespace ts {
|
||||||
if (!this.has(key)) {
|
if (!this.has(key)) {
|
||||||
this.size++;
|
this.size++;
|
||||||
|
|
||||||
if (this.currentIteratoKeys) {
|
if (this.currentIteratorKeys) {
|
||||||
// Add the new entry.
|
// Add the new entry.
|
||||||
this.currentIteratoKeys.push(key);
|
this.currentIteratorKeys.push(key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,10 +199,10 @@ namespace ts {
|
||||||
this.size--;
|
this.size--;
|
||||||
delete this.data[key];
|
delete this.data[key];
|
||||||
|
|
||||||
if (this.currentIteratoKeys) {
|
if (this.currentIteratorKeys) {
|
||||||
// Clear the iteratorKeys array. This means if iterators are still active
|
// Clear the iteratorKeys array. This means if iterators are still active
|
||||||
// they will throw on the next() call.
|
// they will throw on the next() call.
|
||||||
this.currentIteratoKeys = undefined;
|
this.currentIteratorKeys = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -214,10 +214,10 @@ namespace ts {
|
||||||
this.data = createDictionaryObject<T>();
|
this.data = createDictionaryObject<T>();
|
||||||
this.size = 0;
|
this.size = 0;
|
||||||
|
|
||||||
if (this.currentIteratoKeys) {
|
if (this.currentIteratorKeys) {
|
||||||
// Clear the iteratorKeys array. This means if iterators are still active
|
// Clear the iteratorKeys array. This means if iterators are still active
|
||||||
// they will throw on their next() call.
|
// they will throw on their next() call.
|
||||||
this.currentIteratoKeys = undefined;
|
this.currentIteratorKeys = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue