You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
622 B
28 lines
622 B
2 years ago
|
export class FastMap {
|
||
|
constructor() {
|
||
|
this.values = {};
|
||
|
}
|
||
|
delete(key) {
|
||
|
this.values[key] = null;
|
||
|
return true;
|
||
|
}
|
||
|
set(key, value) {
|
||
|
this.values[key] = value;
|
||
|
return this;
|
||
|
}
|
||
|
get(key) {
|
||
|
return this.values[key];
|
||
|
}
|
||
|
forEach(cb, thisArg) {
|
||
|
const values = this.values;
|
||
|
for (let key in values) {
|
||
|
if (values.hasOwnProperty(key) && values[key] !== null) {
|
||
|
cb.call(thisArg, values[key], key);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
clear() {
|
||
|
this.values = {};
|
||
|
}
|
||
|
}
|
||
|
//# sourceMappingURL=FastMap.js.map
|