lib/rules/arrow-parens.js
function fixParamsWithParenthesis(fixer) {
                const paramToken = sourceCode.getTokenAfter(firstTokenOfParam);

                /*
                 * ES8 allows Trailing commas in function parameter lists and calls
                 * https://github.com/eslint/eslint/issues/8834
                 */
                const closingParenToken = sourceCode.getTokenAfter(paramToken, astUtils.isClosingParenToken);
                const asyncToken = isAsync ? sourceCode.getTokenBefore(firstTokenOfParam) : null;
                const shouldAddSpaceForAsync = asyncToken && (asyncToken.range[1] === firstTokenOfParam.range[0]);

                return fixer.replaceTextRange([
                    firstTokenOfParam.range[0],
                    closingParenToken.range[1]
                ], `${shouldAddSpaceForAsync ? " " : ""}${paramToken.value}`);
            }
function fixParamsWithParenthesis(fixer) {
                const paramToken = sourceCode.getTokenAfter(firstTokenOfParam);

                /*
                 * ES8 allows Trailing commas in function parameter lists and calls
                 * https://github.com/eslint/eslint/issues/8834
                 */
                const closingParenToken = sourceCode.getTokenAfter(paramToken, astUtils.isClosingParenToken);
                const asyncToken = isAsync ? sourceCode.getTokenBefore(firstTokenOfParam) : null;
                const shouldAddSpaceForAsync = asyncToken && (asyncToken.range[1] === firstTokenOfParam.range[0]);

                return fixer.replaceTextRange([
                    firstTokenOfParam.range[0],
                    closingParenToken.range[1]
                ], `${shouldAddSpaceForAsync ? " " : ""}${paramToken.value}`);
            }
function fixParamsWithParenthesis ( fixer ) { const paramToken = sourceCode . getTokenAfter ( firstTokenOfParam ) ; /*
                 * ES8 allows Trailing commas in function parameter lists and calls
                 * https://github.com/eslint/eslint/issues/8834
                 */ const closingParenToken = sourceCode . getTokenAfter ( paramToken , astUtils . isClosingParenToken ) ; const asyncToken = isAsync ? sourceCode . getTokenBefore ( firstTokenOfParam ) : null ; const shouldAddSpaceForAsync = asyncToken && ( asyncToken . range [ 1 ] === firstTokenOfParam . range [ 0 ] ) ; return fixer . replaceTextRange ( [ firstTokenOfParam . range [ 0 ] , closingParenToken . range [ 1 ] ] , ` ${ shouldAddSpaceForAsync ? " " : "" } ${ paramToken . value } ` ) ; }
Remove the parenthesis around a parameter
@param {Fixer} fixer Fixer
@returns {string} fixed parameter
Remove the parenthesis around a parameter