Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rest parameters (and default parameters?) aren't autodetected for function expressions #1054

Closed
hegemonic opened this issue Aug 19, 2015 · 1 comment
Labels
Milestone

Comments

@hegemonic
Copy link
Contributor

For the following example, we autodetect that vals is a repeatable parameter:

/**
 * Concatenate a series of values.
 * @param {*} vals - The values to concatenate.
 */
function concat(...vals) { return vals.join(''); }

However, autodetection fails for the following examples, because the function expressions don't have a doclet associated with them (it's tied to the variable declaration instead);

/**
 * Concatenate a series of values.
 * @param {*} vals - The values to concatenate.
 */
var concat = function(...vals) { return vals.join(''); };
/**
 * Concatenate a series of values.
 * @param {*} vals - The values to concatenate.
 */
var concat = (...vals) => vals.join('');

I suspect (but haven't confirmed) that default parameters have the same issue.

@hegemonic hegemonic added this to the 3.4.0 milestone Aug 19, 2015
@hegemonic hegemonic modified the milestones: 3.5.0, 3.4.0 Oct 21, 2015
hegemonic added a commit that referenced this issue Jul 7, 2017
@hegemonic
Copy link
Contributor Author

Fixed on master. The fix will be included in JSDoc 3.5.0.

lheberlie added a commit to bsvensson/jsdoc that referenced this issue Aug 15, 2017
3.5.0

* tag '3.5.0': (97 commits)
  3.5.0
  bump revision; start 3.6.0-dev
  update 3.5.0 changelog
  3.5.0 changelog
  reformat changelog
  add yields tag (jsdoc#1388)
  resolve the path to the JS config file before requiring it (jsdoc#1386)
  support namespaces that are also functions (jsdoc#955)
  add hideconstructor tag (jsdoc#952)
  add package tag (jsdoc#962)
  autodetect default and repeatable parameters when a function is assigned to a variable (jsdoc#1054)
  correctly document constructors and instance properties of ES2015 classes (jsdoc#1182)
  add sourceType config option
  fix crash when the author tag is empty (jsdoc#1289)
  add recurseDepth config option (jsdoc#1340)
  support bigint
  support import.meta
  support optional chaining
  support numeric separators
  support dynamic import
  ...

# Conflicts:
#	.eslintrc
#	README.md
#	lib/jsdoc/fs.js
#	lib/jsdoc/opts/args.js
#	lib/jsdoc/src/astbuilder.js
#	lib/jsdoc/src/astnode.js
#	lib/jsdoc/src/handlers.js
#	lib/jsdoc/src/parser.js
#	lib/jsdoc/src/visitor.js
#	lib/jsdoc/src/walker.js
#	lib/jsdoc/tag/dictionary/definitions.js
#	lib/jsdoc/tag/validator.js
#	lib/jsdoc/util/markdown.js
#	lib/jsdoc/util/templateHelper.js
#	package.json
#	templates/default/static/styles/jsdoc-default.css
#	templates/haruki/publish.js
#	test/spec-collection.js
#	test/specs/documentation/defaultparams.js
#	test/specs/documentation/restparams.js
#	test/specs/jsdoc/src/astnode.js
#	test/specs/jsdoc/util/templateHelper.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant