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