3.0.0 β’ Published 7 months ago
@putout/plugin-parens v3.0.0
@putout/plugin-parens 
πPutout plugin adds ability to add missing parens. Check out in πPutout Editor.
Install
npm i @putout/plugin-parensRules
- β add-missing-for-await;
- β add-missing-for-template;
- β add-missing-for-assign;
- β remove-useless-for-await;
- β remove-useless-for-params;
Config
Short:
{
"rules": {
"parens/add-missing": "on",
"parens/remove-useless": "on"
}
}Full:
{
"rules": {
"parens/add-missing-for-await": "on",
"parens/add-missing-for-template": "on",
"parens/add-missing-for-assign": "on",
"parens/remove-useless-for-await": "on",
"parens/remove-useless-for-params": "on"
}
}add-missing-for-assign
The JavaScript exception "invalid assignment left-hand side" occurs when there was an unexpected assignment somewhere. It may be triggered when a single
=sign was used instead of==or===.(c) MDN
To disable use:
{
"rules": {
"parens/add-missing-for-assign": "off"
}
}-a && b = a;
+a && (b = a);add-missing-for-await
β Example of incorrect code
await asyncFn().filter(Boolean);β Example of correct code
(await asyncFn()).filter(Boolean);add-missing-for-template
The JavaScript exception "tagged template cannot be used with optional chain" occurs when the tag expression of a tagged template literal is an optional chain, or if there's an optional chain between the tag and the template.
(c) MDN
Checkout in πPutout Editor.
{
"rules": {
"parens/add-missing-for-template": "off"
}
}β Example of incorrect code
getConsoleLog?.()``;
String?.raw``;
String?.raw!``;β Example of correct code
(getConsoleLog?.())``;
(String?.raw)``;
(String?.raw)!``;remove-useless-for-await
Checkout in πPutout Editor.
β Example of incorrect code
const s = (await m());β Example of correct code
const s = await m();remove-useless-for-params
Uncaught SyntaxError: Invalid destructuring assignment target(c) Chrome
Checkout in πPutout Editor.
β Example of incorrect code
const a = ((b)) => c;β Example of correct code
const a = (b) => c;License
MIT