From 778ea31bd68a49edae381bac307f64f53f7ab36e Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Wed, 26 Mar 2014 21:19:08 -0700 Subject: [PATCH] DRY out --- lib/jsdoc/name.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/jsdoc/name.js b/lib/jsdoc/name.js index bd36364e..5676fdfa 100644 --- a/lib/jsdoc/name.js +++ b/lib/jsdoc/name.js @@ -34,6 +34,10 @@ var MODULE_PREFIX = exports.MODULE_PREFIX = 'module:'; var DEFAULT_SCOPE = SCOPE_NAMES.static; +function prototypeToPunc(name) { + return name.replace(/(?:^|\.)prototype\.?/g, INSTANCE); +} + /** Resolves the longname, memberof, variation and name values of the given doclet. @param {module:jsdoc/doclet.Doclet} doclet @@ -51,7 +55,7 @@ exports.resolve = function(doclet) { // (but not in function params, which lack doclet.kind) // TODO: check for specific doclet.kind values (probably function, class, and module) if (name && doclet.kind) { - name = name.replace(/(?:^|\.)prototype\.?/g, INSTANCE); + name = prototypeToPunc(name); } doclet.name = name; @@ -61,7 +65,7 @@ exports.resolve = function(doclet) { } if (memberof || doclet.forceMemberof) { // @memberof tag given - memberof = ('' || memberof).replace(/\.prototype\.?/g, INSTANCE); + memberof = prototypeToPunc(memberof); // the name is a fullname, like @name foo.bar, @memberof foo if (name && name.indexOf(memberof) === 0 && name !== memberof) { @@ -206,7 +210,7 @@ exports.shorten = function(longname, forcedMemberof) { parts, variation; - longname = longname.replace(/\.prototype\.?/g, INSTANCE); + longname = prototypeToPunc(longname); if (typeof forcedMemberof !== 'undefined') { name = longname.substr(forcedMemberof.length);