From c5b9c434f45854fb460553fd2e31ae7a759f9c8a Mon Sep 17 00:00:00 2001 From: Scott Doxey Date: Thu, 24 Mar 2022 00:19:20 -0400 Subject: [PATCH] Added custom publisher. --- lib/dox.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/dox.js b/lib/dox.js index 4631dd1..5b4d352 100644 --- a/lib/dox.js +++ b/lib/dox.js @@ -406,9 +406,15 @@ exports.parseTagTypes = function(str, tag) { } return []; } - var {parse, publish, NodeType} = require('jsdoctypeparser'); + var {parse, publish, createDefaultPublisher, NodeType} = require('jsdoctypeparser'); var result = parse(str.substring(1, str.length - 1)); + var customPublisher = Object.assign({}, createDefaultPublisher(), { + NAME(nameNode) { + return '' + nameNode.name + ''; + } + }); + var types = (function transform(type) { if (type && type.type === NodeType.UNION) { return [transform(type.left), transform(type.right)].flat(); @@ -428,7 +434,7 @@ exports.parseTagTypes = function(str, tag) { if(tag) { tag.types = types; - tag.typesDescription = '' + publish(result) + ''; + tag.typesDescription = publish(result, customPublisher); tag.optional = (tag.name && tag.name.slice(0,1) === '[') || result.type === NodeType.OPTIONAL; tag.nullable = result.type === NodeType.NULLABLE; tag.nonNullable = result.meta ? result.meta.syntax === 'SUFFIX_QUESTION_MARK' : false;