包详细信息

@putout/operator-add-args

coderaiser31.7kMIT12.1.0

🐊Putout operator adds ability to add args to referenced variables that was not defined

putout, putout-operator, operator, add-args

自述文件

@putout/operator-add-args NPM version

🐊Putout operator adds ability to add argument that was not defined before.

Install

npm i putout @putout/operator-add-args

API

If you want to create 🐊Putout plugin that will add args according to your needs just:

const {operator} = require('putout');
const {addArgs} = operator;

module.exports = addArgs({
    comparePlaces: ['{comparePlaces}', 'test("__a", (__args) => __body)'],
    t: ['{comparePlaces}', [
        'test("__a", (__args) => __body)',
        'test.only("__a", (__args) => __body)',
    ]],
    maybe: ['{maybe}', [
        'module.exports.__a = (__args) => __body',
    ]],
});

If you have a file index.spec.js:

-test('', () => {
+test('', ({comparePlaces}) => {
    comparePlaces();
});

Plugin supports options, so you can pass it in .putout.json:

{
    "rules": {
        "tape/add-args": ["on", {
            "args": {
                "comparePlaces": ["{comparePlaces}", "test('__a', (__args) => __body)"]
            }
        }]
    }
}

Exclude

If you want exclude index.spec.js:

test('', (path, printer, semantics, {printComment} => {
    comparePlaces();
});

You can use exclude list:

{
    "rules": {
        "tape/add-args": ["on", {
            "args": {
                "comparePlaces": [
                    "{comparePlaces}",
                    "test('__a', (__args) => __body)",
                    [
                        "(__a, __b, __c, __object) => __object"
                    ]
                ]
            }
        }]
    }
}

License

MIT