From 929e8500667012b2b2f5506efbfd10a39134a9cd Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 22 Feb 2025 11:26:27 -0400 Subject: yaml, find-reverse: don't double-count inherited specs --- src/find-reverse.js | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/find-reverse.js') diff --git a/src/find-reverse.js b/src/find-reverse.js index f31d3c45..6a67ac0f 100644 --- a/src/find-reverse.js +++ b/src/find-reverse.js @@ -17,10 +17,17 @@ export function getAllSpecs({ const specs = {...hardcodedSpecs}; + const seenSpecs = new Set(); + for (const thingConstructor of Object.values(thingConstructors)) { const thingSpecs = thingConstructor[constructorKey]; if (!thingSpecs) continue; + // Subclasses can expose literally the same static properties + // by inheritence. We don't want to double-count those! + if (seenSpecs.has(thingSpecs)) continue; + seenSpecs.add(thingSpecs); + for (const [key, spec] of Object.entries(thingSpecs)) { specs[key] = postprocessSpec(spec, { -- cgit 1.3.0-6-gf8a5