Use map for storing registry values
This commit is contained in:
parent
29475925f4
commit
8de04a7442
1 changed files with 5 additions and 9 deletions
|
@ -31,26 +31,22 @@ export interface IRegistry {
|
|||
|
||||
class RegistryImpl implements IRegistry {
|
||||
|
||||
private data: { [id: string]: any; };
|
||||
|
||||
constructor() {
|
||||
this.data = {};
|
||||
}
|
||||
private readonly data = new Map<string, any>();
|
||||
|
||||
public add(id: string, data: any): void {
|
||||
Assert.ok(Types.isString(id));
|
||||
Assert.ok(Types.isObject(data));
|
||||
Assert.ok(!this.data.hasOwnProperty(id), 'There is already an extension with this id');
|
||||
Assert.ok(!this.data.has(id), 'There is already an extension with this id');
|
||||
|
||||
this.data[id] = data;
|
||||
this.data.set(id, data);
|
||||
}
|
||||
|
||||
public knows(id: string): boolean {
|
||||
return this.data.hasOwnProperty(id);
|
||||
return this.data.has(id);
|
||||
}
|
||||
|
||||
public as(id: string): any {
|
||||
return this.data[id] || null;
|
||||
return this.data.get(id) || null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue