2.8.1 ā€¢ Published 2 years ago

@putout/plugin-apply-try-catch v2.8.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@putout/plugin-apply-try-catch NPM version

šŸŠPutout plugin adds ability to apply tryCatch and tryToCatch. Renamed to @putout/plugin-try-catch.

Install

npm i @putout/plugin-apply-try-catch

Rule

{
    "rules": {
        "apply-try-catch/await": "on",
        "apply-try-catch/args": "on",
        "apply-try-catch/declare": "on",
        "apply-try-catch/expand-arguments": "on",
        "apply-try-catch/try-catch": "on",
        "apply-try-catch/try-to-catch": "on"
    }
}

try-catch

āŒ Example of incorrect code

try {
    log('hello');
} catch(error) {
}

āœ… Example of correct code

import tryCatch from 'try-catch';
const [error] = tryCatch(log, 'hello');

try-to-catch

āŒ Example of incorrect code

try {
    await send('hello');
} catch(error) {
}

āœ… Example of correct code

import tryToCatch from 'try-catch';
const [error] = await tryToCatch(send, 'hello');

await

āŒ Example of incorrect code

await tryCatch(a, b);
tryToCatch(a, b);

āœ… Example of correct code

await tryToCatch(a, b);

args

āŒ Example of incorrect code

tryCatch(send('hello'));

āœ… Example of correct code

tryCatch(send, 'hello');

declare

āŒ Example of incorrect code

const [error] = tryCatch(fs.readFileSync, 'hello.txt');

āœ… Example of correct code

import tryCatch from 'try-catch';
const [error] = tryCatch(fs.readFileSync, 'hello.txt');

expand-arguments

āŒ Example of incorrect code

import tryCatch from 'try-catch';

test('some message', (t) => {
    const fn = () => copymitter('/hello');
    const [error] = tryCatch(fn);
    
    t.equal(error.message, 'to should be a string!');
    t.end();
});

āœ… Example of correct code

import tryCatch from 'try-catch';

test('some message', (t) => {
    const [error] = tryCatch(copymitter, '/hello');
    
    t.equal(error.message, 'to should be a string!');
    t.end();
});

License

MIT

2.7.0

2 years ago

2.6.1

2 years ago

2.6.0

2 years ago

2.8.1

2 years ago

2.8.0

2 years ago

2.3.0

2 years ago

1.2.0

2 years ago

2.2.0

2 years ago

1.1.0

2 years ago

2.5.0

2 years ago

2.4.0

2 years ago

2.1.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.0

3 years ago