25 lines
398 B
JavaScript
25 lines
398 B
JavaScript
/**
|
|
* Registry mapping custom element tag names to their renderer functions.
|
|
*/
|
|
export class RsvTemplateRegistry {
|
|
constructor() {
|
|
this.elements = new Map();
|
|
}
|
|
|
|
register(tag, renderer) {
|
|
this.elements.set(tag, renderer);
|
|
}
|
|
|
|
get(tag) {
|
|
return this.elements.get(tag) ?? null;
|
|
}
|
|
|
|
all() {
|
|
return this.elements;
|
|
}
|
|
|
|
has(tag) {
|
|
return this.elements.has(tag);
|
|
}
|
|
}
|