How to use the eslint-plugin-sonarjs/lib/utils/nodes.isIdentifier function in eslint-plugin-sonarjs

To help you get started, we’ve selected a few eslint-plugin-sonarjs examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github SonarSource / SonarJS / eslint-bridge / src / rules / no-gratuitous-expressions.ts View on Github external
":statement": (node: estree.Node) => {
        const parent = getParent(context);
        if (parent && isIfStatement(parent)) {
          // we visit 'consequent' and 'alternate' and not if-statement directly in order to get scope for 'consequent'
          const currentScope = context.getScope();

          if (parent.consequent === node) {
            const { truthy, falsy } = collectKnownIdentifiers(parent.test);
            truthyMap.set(parent.consequent, transformAndFilter(truthy, currentScope));
            falsyMap.set(parent.consequent, transformAndFilter(falsy, currentScope));
          } else if (parent.alternate === node && isIdentifier(parent.test)) {
            falsyMap.set(parent.alternate, transformAndFilter([parent.test], currentScope));
          }
        }
      },
github SonarSource / SonarJS / eslint-bridge / src / rules / no-gratuitous-expressions.ts View on Github external
const checkExpr = (expr: estree.Expression) => {
    if (isIdentifier(expr)) {
      truthy.push(expr);
    } else if (isLogicalNegation(expr)) {
      if (isIdentifier(expr.argument)) {
        falsy.push(expr.argument);
      } else if (isLogicalNegation(expr.argument) && isIdentifier(expr.argument.argument)) {
        truthy.push(expr.argument.argument);
      }
    }
  };
github SonarSource / SonarJS / eslint-bridge / src / rules / no-dead-store.ts View on Github external
function isBasicValue(node: estree.Node): boolean {
      if (isLiteral(node)) {
        return node.value === "" || [0, 1, null, true, false].includes(node.value as any);
      }
      if (isIdentifier(node)) {
        return node.name === "undefined";
      }
      if (isUnaryExpression(node)) {
        return isBasicValue(node.argument);
      }
      if (isObjectExpression(node)) {
        return node.properties.length === 0;
      }
      if (isArrayExpression(node)) {
        return node.elements.length === 0;
      }
      return false;
    }
github SonarSource / SonarJS / eslint-bridge / src / rules / no-gratuitous-expressions.ts View on Github external
const checkExpr = (expr: estree.Expression) => {
    if (isIdentifier(expr)) {
      truthy.push(expr);
    } else if (isLogicalNegation(expr)) {
      if (isIdentifier(expr.argument)) {
        falsy.push(expr.argument);
      } else if (isLogicalNegation(expr.argument) && isIdentifier(expr.argument.argument)) {
        truthy.push(expr.argument.argument);
      }
    }
  };
github SonarSource / SonarJS / eslint-bridge / src / rules / no-gratuitous-expressions.ts View on Github external
const checkExpr = (expr: estree.Expression) => {
    if (isIdentifier(expr)) {
      truthy.push(expr);
    } else if (isLogicalNegation(expr)) {
      if (isIdentifier(expr.argument)) {
        falsy.push(expr.argument);
      } else if (isLogicalNegation(expr.argument) && isIdentifier(expr.argument.argument)) {
        truthy.push(expr.argument.argument);
      }
    }
  };