| 1234567891011121314151617181920212223242526 | 
							- 'use strict';
 
- const {isOpeningParenToken, isClosingParenToken} = require('@eslint-community/eslint-utils');
 
- /**
 
- Determine if a constructor function is newed-up with parens.
 
- @param {Node} node - The `NewExpression` node to be checked.
 
- @param {SourceCode} sourceCode - The source code object.
 
- @returns {boolean} True if the constructor is called with parens.
 
- Copied from https://github.com/eslint/eslint/blob/cc4871369645c3409dc56ded7a555af8a9f63d51/lib/rules/no-extra-parens.js#L252
 
- */
 
- function isNewExpressionWithParentheses(node, sourceCode) {
 
- 	if (node.arguments.length > 0) {
 
- 		return true;
 
- 	}
 
- 	const [penultimateToken, lastToken] = sourceCode.getLastTokens(node, 2);
 
- 	// The expression should end with its own parens, for example, `new new Foo()` is not a new expression with parens.
 
- 	return isOpeningParenToken(penultimateToken)
 
- 		&& isClosingParenToken(lastToken)
 
- 		&& node.callee.range[1] < node.range[1];
 
- }
 
- module.exports = isNewExpressionWithParentheses;
 
 
  |