From a19322c01fd6473c28573c160f6f7d3a87058065 Mon Sep 17 00:00:00 2001 From: Daniel O'Grady Date: Tue, 30 Jan 2024 10:19:15 +0100 Subject: [PATCH] Rewrite --- lib/visitor.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/visitor.js b/lib/visitor.js index dcabbda6..a7ad6f4b 100644 --- a/lib/visitor.js +++ b/lib/visitor.js @@ -449,16 +449,14 @@ class Visitor { case 'aspect': this.#printAspect(name, entity) break - case 'type': + case 'type': { // types like inline definitions can be used very similarly to entities. // They can be extended, contain inline enums, etc., so we treat them as entities. // Enums seem to be the only actual "type". - if (entity.enum) { - this.#printType(name, entity) - } else { - this.#printEntity(name, entity) - } + const handler = entity.enum ? this.#printType : this.#printEntity + handler.bind(this)(name, entity) break + } case 'event': this.#printEvent(name, entity) break