From 00a40c19a066310212187066a28b184ab5f88a07 Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Sat, 30 Nov 2013 20:16:51 -0800 Subject: [PATCH] DRY out --- lib/jsdoc/tag/dictionary/definitions.js | 36 +++++++++++-------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/lib/jsdoc/tag/dictionary/definitions.js b/lib/jsdoc/tag/dictionary/definitions.js index 05af7eb7..d6384dcf 100644 --- a/lib/jsdoc/tag/dictionary/definitions.js +++ b/lib/jsdoc/tag/dictionary/definitions.js @@ -47,6 +47,12 @@ function setDocletDescriptionToValue(doclet, tag) { } } +function setDocletTypeToValueType(doclet, tag) { + if (tag.value && tag.value.type) { + doclet.type = tag.value.type; + } +} + function setNameToFile(doclet, tag) { var name; @@ -211,9 +217,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { setDocletKindToTitle(doclet, tag); setDocletNameToValue(doclet, tag); - if (tag.value && tag.value.type) { - doclet.type = tag.value.type; - } + setDocletTypeToValueType(doclet, tag); } }) .synonym('const'); @@ -283,7 +287,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { doclet.kind = 'member'; doclet.isEnum = true; - if (tag.value && tag.value.type) { doclet.type = tag.value.type; } + setDocletTypeToValueType(doclet, tag); } }); @@ -311,9 +315,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { if (!doclet.exceptions) { doclet.exceptions = []; } doclet.exceptions.push(tag.value); - if (tag.value && tag.value.type) { - doclet.type = tag.value.type; - } + setDocletTypeToValueType(doclet, tag); } }) .synonym('throws'); @@ -324,7 +326,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { setDocletKindToTitle(doclet, tag); if (tag.value && tag.value.type) { - doclet.type = tag.value.type; + setDocletTypeToValueType(doclet, tag); doclet.addTag('name', doclet.type.names[0]); } } @@ -434,9 +436,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { setDocletKindToTitle(doclet, tag); setDocletNameToValue(doclet, tag); - if (tag.value && tag.value.type) { - doclet.type = tag.value.type; - } + setDocletTypeToValueType(doclet, tag); } }) .synonym('var'); @@ -474,9 +474,7 @@ exports.defineTags = function(dictionary) { if (!doclet.name) { setDocletNameToFilename(doclet, tag); } - if (tag.value && tag.value.type) { - doclet.type = tag.value.type; - } + setDocletTypeToValueType(doclet, tag); } }); @@ -489,9 +487,7 @@ exports.defineTags = function(dictionary) { onTagged: function(doclet, tag) { setDocletKindToTitle(doclet, tag); setDocletNameToValue(doclet, tag); - if (tag.value && tag.value.type) { - doclet.type = tag.value.type; - } + setDocletTypeToValueType(doclet, tag); } }); @@ -647,7 +643,7 @@ exports.defineTags = function(dictionary) { }, onTagged: function(doclet, tag) { if (tag.value && tag.value.type) { - doclet.type = tag.value.type; + setDocletTypeToValueType(doclet, tag); // for backwards compatibility, we allow @type for functions to imply return type if (doclet.kind === 'function') { @@ -676,8 +672,8 @@ exports.defineTags = function(dictionary) { ] }; } - else if (tag.value.type) { - doclet.type = tag.value.type; + else { + setDocletTypeToValueType(doclet, tag); } } }