let traitId = 0; const idToTraitMap = new Map(); const traitToIdMap = new Map(); const traitRegistry = new Map(); export function registerTrait(Trait) { traitRegistry.set(Trait.type(), Trait); traitToIdMap.set(Trait, traitId); idToTraitMap.set(traitId, Trait); traitId += 1; } export function hasTrait(type) { return traitRegistry.has(type); } export function idFromTrait(Trait) { return traitToIdMap.get(Trait); } export function lookupTrait(type) { return traitRegistry.get(type); } export function traitFromId(id) { return idToTraitMap.get(id); }