Assuming I have a typedef type in a js module
// somewhere/foo.js
/**
* @module
*/
/**
* @typedef Foo
* @type {object}
* property {string} bar - some property
*/
Is it possible to reference this type in another module, so that in the HTML page generated by jsdoc, the type is displayed as a link to the typedef-ed module ?
I tried variations of this, but nothing seems to work...
// somewhere_else/bar.js
/**
* @module
*/
/**
* @param {somewhere/foo/Foo} foo - some param
*/
export default function doStuff(foo) {
...
}
The above answer shows up high in search results so I'm documenting what worked for me in case it helps someone in a similar situation.
I'm using Visual Studio code for a node project with
// @ts-check
on all my modules. Using the above syntax hiccups on themodule:
syntax. Also, the code assistance doesn't work properly. It took me a while but the answer ended up being quite simpleIf I have the typedef
myTypedef
in a modulemyModule
then in the second module where I requiremyModule
mm = require(myModule)
I can use something like
/** @param {mm.myTypedef} myParamName */
This works for me ...
and ...