From 1387c7f649d835002e3e4b971707aa770b2ea799 Mon Sep 17 00:00:00 2001 From: Mike van Rossum Date: Thu, 10 Dec 2015 15:44:38 +0100 Subject: [PATCH 1/3] fixes utoiku/jsdox#88 --- lib/analyze.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/analyze.js b/lib/analyze.js index 93fe1a6..2a3ae91 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -101,9 +101,14 @@ module.exports = function(ast, argv) { fn.params = tag.params || []; fn.hasParams = !!fn.params.length; // For the function signature - fn.paramsString = fn.params.map(function(p) { - return p.name; - }).join(', '); + fn.paramsString = fn.params + // Only include top level parameters (no object properties) + .filter(function(p) { + return p.name.indexOf('.') === -1; + }) + .map(function(p) { + return p.name; + }).join(', '); // For param details fn.params.forEach(setPipedTypesString); From 8fcc6cbbacc67931f774cdfe6c1dbd9a30b5629f Mon Sep 17 00:00:00 2001 From: Mike van Rossum Date: Thu, 10 Dec 2015 16:13:19 +0100 Subject: [PATCH 2/3] output object param props as a nested list --- lib/analyze.js | 16 +++++++++++++++- templates/function.mustache | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/analyze.js b/lib/analyze.js index 2a3ae91..4238994 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -100,11 +100,24 @@ module.exports = function(ast, argv) { var fn = tag; fn.params = tag.params || []; fn.hasParams = !!fn.params.length; + + fn.params.forEach(function(p) { + // rename to force parameter description + // being printed (ignoring function + // description) + p.pDescription = p.description; + + // nest child params + if(p.name.indexOf('.') !== -1) { + p.nested = true; + } + }); + // For the function signature fn.paramsString = fn.params // Only include top level parameters (no object properties) .filter(function(p) { - return p.name.indexOf('.') === -1; + return !p.nested; }) .map(function(p) { return p.name; @@ -117,6 +130,7 @@ module.exports = function(ast, argv) { setPipedTypesString(ret); ret.description = ret.description || false; }); + // To avoid reaching to the parent for these fields fn.version = tag.version || false; fn.fires = tag.fires || []; diff --git a/templates/function.mustache b/templates/function.mustache index 1e67c7a..00a7788 100644 --- a/templates/function.mustache +++ b/templates/function.mustache @@ -13,9 +13,9 @@ Deprecated: {{{deprecated}}} {{/hasParams}} {{#params}} -**{{name}}**: {{#typesString}}`{{typesString}}`{{/typesString}}{{#description}}, {{{description}}}{{/description}} - +{{#nested}} {{/nested}} - **{{name}}**: {{#typesString}}`{{typesString}}`{{/typesString}}{{#pDescription}}, {{{pDescription}}}{{/pDescription}} {{/params}} + {{#fires}} **Fires**: {{.}} From c274659633b1fdf6de51ce267633eb7fe2213dda Mon Sep 17 00:00:00 2001 From: Mike van Rossum Date: Thu, 10 Dec 2015 16:21:00 +0100 Subject: [PATCH 3/3] cleanup for jshint --- lib/analyze.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/analyze.js b/lib/analyze.js index 4238994..52fcf46 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -103,12 +103,12 @@ module.exports = function(ast, argv) { fn.params.forEach(function(p) { // rename to force parameter description - // being printed (ignoring function + // being printed (ignoring function // description) p.pDescription = p.description; // nest child params - if(p.name.indexOf('.') !== -1) { + if (p.name.indexOf('.') !== -1) { p.nested = true; } });