node/no-callback-literal

September 4, 2019 ยท View on GitHub

ensure Node.js-style error-first callback pattern is followed

When invoking a callback function which uses the Node.js error-first callback pattern, all of your errors should either use the Error class or a subclass of it. It is also acceptable to use undefined or null if there is no error.

๐Ÿ“– Rule Details

When a function is named cb or callback, then it must be invoked with a first argument that is undefined, null, an Error class, or a subclass or Error.

Examples of :-1: incorrect code for this rule:

/*eslint node/no-callback-literal: "error" */

cb('this is an error string');
cb({ a: 1 });
callback(0);

Examples of :+1: correct code for this rule:

/*eslint node/no-callback-literal: "error" */

cb(undefined);
cb(null, 5);
callback(new Error('some error'));
callback(someVariable);

Options

{
    "rules": {
        "node/no-callback-literal": "error"
    }
}

๐Ÿ”Ž Implementation