You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add an optional initializer property to the JSDocParameterTag, which will contain the default value of the param tag.
For a function:
/** * @param {string} [p="test"] - An optional param with a default value */constabc=(p)=>{};
The initializer property will be test.
This is a parity change with the Parameter node, which has initializer property for initializer in the parameter declaration:
constabc=(p: string="test")=>{};
📃 Motivating Example
Adding the initializer property to the JSDocParameterTag makes it possible to indicate default value of any overloaded function or function declaration, which was previously impossible. This adds the same property which was previously only available on the Parameter node. So IDEs or other tools built on TypeScript compiler now can easily communicate the default value of the parameter.
Since the default value of the parameter is currently already parsed, it should by trivial to just add it to the node as a new property and shouldn’t cause any performance issues.
💻 Use Cases
What do you want to use this for?
This can be used by IDEs or other tooling (such as documentation generators) to show default value of the parameter, which rely on TypeScript compiler.
In my use case I’m building a documentation generator which outputs parameter table for functions with types, default values and descriptions. For default values I’m using the initializer of the function and if it’s not specified I would like the default value from the param tag.
What shortcomings exist with current approaches?
There is no way how to access default values of overloaded methods or method declarations. This is also true for overloaded methods where initializer is not permitted in the parameter itself.
What workarounds are you using in the meantime?
The tools which want to use this have to parse the jsdoc parameter themselves.
If this issue gets approved I would gladly submit a PR for this.
The text was updated successfully, but these errors were encountered:
🔍 Search Terms
param, parameter, argument, jsdoc, initializer, default value, parameter
✅ Viability Checklist
⭐ Suggestion
Add an optional initializer property to the
JSDocParameterTag
, which will contain the default value of the param tag.For a function:
The
initializer
property will betest
.This is a parity change with the
Parameter
node, which hasinitializer
property for initializer in the parameter declaration:📃 Motivating Example
Adding the
initializer
property to theJSDocParameterTag
makes it possible to indicate default value of any overloaded function or function declaration, which was previously impossible. This adds the same property which was previously only available on theParameter
node. So IDEs or other tools built on TypeScript compiler now can easily communicate the default value of the parameter.Since the default value of the parameter is currently already parsed, it should by trivial to just add it to the node as a new property and shouldn’t cause any performance issues.
💻 Use Cases
What do you want to use this for?
This can be used by IDEs or other tooling (such as documentation generators) to show default value of the parameter, which rely on TypeScript compiler.
In my use case I’m building a documentation generator which outputs parameter table for functions with types, default values and descriptions. For default values I’m using the initializer of the function and if it’s not specified I would like the default value from the param tag.
What shortcomings exist with current approaches?
There is no way how to access default values of overloaded methods or method declarations. This is also true for overloaded methods where initializer is not permitted in the parameter itself.
What workarounds are you using in the meantime?
The tools which want to use this have to parse the jsdoc parameter themselves.
If this issue gets approved I would gladly submit a PR for this.
The text was updated successfully, but these errors were encountered: