When I write the following code, the annotator tells me that BrowserSelector
is not defined in the second typedef:
/**
* @typedef {{name: String, minVer: Number, maxVer: Number}} BrowserSelector
*/
/**
* @typedef {{type:String, browser: BrowserSelector, attribute: Object}} Selector
*/
I believe it is not associating the type with the name. How can I do that?
I would prefer not to add actual code for it, just jsdoc comments.
I'm using this comment style for 'struct' like types:
Multiple comments to describe properties is not necessary as of Webstorm 7 (perhaps earlier).
I recently noticed in the AngularJS source code that they also annotated stuff without any directly attached code. I tried the same principle on your case and came up with the following (even code-completion and type checking work with it in WebStorm):