UNPKG

@putout/plugin-convert-optional-to-logical

Version:

🐊Putout plugin adds ability convert Optional Chaining to Logical Expression

29 lines (20 loc) 697 B
'use strict'; const {template, operator} = require('putout'); const {getLogical} = require('../get-logical'); module.exports.report = () => `Use Logical Expression instead of Optional Chaining`; const {replaceWith} = operator; module.exports.fix = (path) => { const logical = getLogical(path); replaceWith(path, template.ast(logical)); }; module.exports.include = () => [ 'OptionalMemberExpression', 'OptionalCallExpression', ]; module.exports.filter = ({parentPath}) => { if (parentPath.isOptionalMemberExpression()) return false; if (parentPath.isAssignmentExpression()) return false; return !parentPath.isOptionalCallExpression(); };