move demo/static/src/ts/core to src/

This commit is contained in:
Géry Debongnie
2019-03-14 11:23:10 +01:00
parent 2ffb0fd64c
commit f08ff9e5c2
103 changed files with 32 additions and 32 deletions
+28
View File
@@ -0,0 +1,28 @@
/**
* The registry is basically a simple hashmap. It is only a little safer and
* more structured than a simple object.
*/
export class Registry<T> {
private map: { [key: string]: T } = {};
/**
* Add an element to the registry. Note that the add method returns the
* registry, to it can be chained.
*/
add(key: string, item: T): Registry<T> {
if (key in this.map) {
throw new Error(`Key ${key} already exists!`);
}
this.map[key] = item;
return this;
}
/**
* Returns the element corresponding to the key
*
* Nothing is done to check that the key actually exists.
*/
get(key: string): T | undefined {
return this.map[key];
}
}