jsdoc-plugin-typescript-new

1.0.0 • Public • Published

NPM

JSDoc TypeScript New Plugin

Converts TypeScript "new" method types (new(), new() => X) to a JSDoc-compatible instanceOf(X) type.

Specifically, this creates a compatibility between Visual Studio Code's TypeScript documentation and JSDoc, as Visual Studio Code's parser uses the new() function type to indicate a new instance of a type, but doesn't understand JSDoc's instanceOf() (and vice-versa).

You may find my other JSDoc plugins interesting:

Solving the Problem

Using JSDoc in Visual Studio code with their TypeScript-oriented new typedef:

/**
 * This is my favorite constructor-like generic function.
 * @template T
 * @typedef {new(...args: Array) => T} Constructor
 **/

Results in...

ERROR: Unable to parse a tag's type expression for source file ...: Invalid type expression "new(...)": Expected "!", "=", "?", "[]", "|", or end of input but "(" found.

Uh oh! JSDoc doesn't like this. It's a TypeScript thing and isn't meant to be supported by JSDoc!

Resolution

Thankfully, this JSDoc plugin solves the problem by converting your new statements into new JSDoc-compatible function tags.

Just Install

yarn add jsdoc-plugin-typescript-new --dev

or

npm install jsdoc-plugin-typescript-new --save-dev

Update your JSDoc configuration, and include the plugin:

...
    "plugins"[
        "jsdoc-plugin-typescript-new"
    ],
...

That's all!

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i jsdoc-plugin-typescript-new

    Weekly Downloads

    12

    Version

    1.0.0

    License

    UNLICENSED

    Unpacked Size

    7.17 kB

    Total Files

    5

    Last publish

    Collaborators

    • chriseaton