domain/registries/base.registry.ts

domain/registries/base.registry.ts is a file in Bane's Lab Site. 11 lines of code and 2 definitions.

import type { Identified, Registry } from "#types/registry.types";

export const createRegistry = function createRegistry<T extends Identified>(): Registry<T> {
    const entries = new Map<string, T>();
    return {
        all: () => [...entries.values()],
        byId: (id) => entries.get(id),
        register: (entry) => {
            entries.set(entry.id, entry);
        },
    };
};