Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,15 @@
|
||||
// Generated, do not edit. sha256:afb8f908930f6e36cf200b71f053da053bdc63adc393178a3cdc212216d2ca98
|
||||
export function createRegistry(name, { validate } = {}) {
|
||||
const items = new Map();
|
||||
return Object.freeze({
|
||||
name,
|
||||
register(entry) {
|
||||
if (!entry || typeof entry.id !== 'string' || !entry.id) throw new Error(`${name}: an entry needs an id`);
|
||||
if (items.has(entry.id)) throw new Error(`${name}: '${entry.id}' is registered twice`);
|
||||
validate?.(entry);
|
||||
items.set(entry.id, Object.freeze({ feature: null, ...entry }));
|
||||
},
|
||||
get: id => items.get(id) ?? null,
|
||||
list: () => [...items.values()],
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user