| ▲ | culi a day ago | |||||||
Try this out. I think it's a much more faithful representation of your TypeScript example too. JSDoc just wants you to be explicit about the default for generic slots (which is `unknown` in TypeScript). https://www.typescriptlang.org/play/?filetype=js#code/PTAEAE... Hover over the variables and you should see that the type inference is working just the same as in your TypeScript example | ||||||||
| ▲ | g947o a day ago | parent [-] | |||||||
Ah I see. Looks like you avoided using the "@callback" tag but instead used the "@typedef" tag directly. Thanks! I do think it illustrates a problem with TypeScript's support for JSDoc though. You see, I started with the code in JS and could not make it work, after which I translated it to TS. In JS/JSdoc, "@callback" is the "idiomatic" way of defining a function callback type with JSDoc. (It also makes it easier to add documentation for each parameter if necessary.) And indeed, @callback works the most of the time, except in such cases where these JSDoc tags don't work nicely together, and these alternatives become necessary. | ||||||||
| ||||||||