当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript 8.isPostfixUnaryExpression方法代码示例

本文整理汇总了TypeScript中tsutils/typeguard/2.8.isPostfixUnaryExpression方法的典型用法代码示例。如果您正苦于以下问题:TypeScript 8.isPostfixUnaryExpression方法的具体用法?TypeScript 8.isPostfixUnaryExpression怎么用?TypeScript 8.isPostfixUnaryExpression使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tsutils/typeguard/2.8的用法示例。


在下文中一共展示了8.isPostfixUnaryExpression方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: checkTypedNode

function checkTypedNode(
  node: ts.Node,
  ctx: Lint.WalkContext<Options>,
  checker: ts.TypeChecker
): CheckNodeResult {
  if (utils.isBinaryExpression(node)) {
    return checkBinaryExpression(node, ctx, checker);
  }

  if (utils.isDeleteExpression(node)) {
    return checkDeleteExpression(node, ctx, checker);
  }

  if (utils.isPrefixUnaryExpression(node)) {
    return checkPrefixUnaryExpression(node, ctx, checker);
  }

  if (utils.isPostfixUnaryExpression(node)) {
    return checkPostfixUnaryExpression(node, ctx, checker);
  }

  if (utils.isCallExpression(node)) {
    return checkCallExpression(node, ctx, checker);
  }

  return { invalidNodes: [] };
}
开发者ID:jonaskello,项目名称:tslint-immutable,代码行数:27,代码来源:noArrayMutationRule.ts

示例2: checkNode

function checkNode(
  node: ts.Node,
  ctx: Lint.WalkContext<Options>,
  checker: ts.TypeChecker
): CheckNodeResult {
  let invalidNodes: Array<InvalidNode> = [];

  // No assignment with object.property on the left
  if (
    utils.isBinaryExpression(node) &&
    isAccessExpression(node.left) &&
    utils.isBinaryExpression(node) &&
    isAssignmentKind(node.operatorToken.kind) &&
    !Ignore.isIgnoredPrefix(
      node.getText(node.getSourceFile()),
      ctx.options.ignorePrefix
    ) &&
    !inConstructor(node)
  ) {
    invalidNodes = [...invalidNodes, createInvalidNode(node, [])];
  }

  // No deleting object properties
  if (
    utils.isDeleteExpression(node) &&
    isAccessExpression(node.expression) &&
    !Ignore.isIgnoredPrefix(
      node.expression.getText(node.getSourceFile()),
      ctx.options.ignorePrefix
    )
  ) {
    invalidNodes = [...invalidNodes, createInvalidNode(node, [])];
  }

  // No prefix inc/dec
  if (
    utils.isPrefixUnaryExpression(node) &&
    isAccessExpression(node.operand) &&
    forbidUnaryOps.some(o => o === node.operator) &&
    !Ignore.isIgnoredPrefix(
      node.operand.getText(node.getSourceFile()),
      ctx.options.ignorePrefix
    )
  ) {
    invalidNodes = [...invalidNodes, createInvalidNode(node, [])];
  }

  // No postfix inc/dec
  if (
    utils.isPostfixUnaryExpression(node) &&
    isAccessExpression(node.operand) &&
    forbidUnaryOps.some(o => o === node.operator) &&
    !Ignore.isIgnoredPrefix(
      node.getText(node.getSourceFile()),
      ctx.options.ignorePrefix
    )
  ) {
    invalidNodes = [...invalidNodes, createInvalidNode(node, [])];
  }

  // No Object.assign on identifiers.
  if (
    utils.isCallExpression(node) &&
    utils.isPropertyAccessExpression(node.expression) &&
    utils.isIdentifier(node.expression.name) &&
    node.expression.name.text === "assign" &&
    node.arguments.length >= 2 &&
    (utils.isIdentifier(node.arguments[0]) ||
      utils.isPropertyAccessExpression(node.arguments[0])) &&
    !Ignore.isIgnoredPrefix(
      node.arguments[0].getText(node.arguments[0].getSourceFile()),
      ctx.options.ignorePrefix
    ) &&
    // Do type checking as late as possible as it is expensive.
    isObjectConstructorType(
      checker.getTypeAtLocation(node.expression.expression)
    )
  ) {
    invalidNodes = [...invalidNodes, createInvalidNode(node, [])];
  }

  return { invalidNodes };
}
开发者ID:jonaskello,项目名称:tslint-immutable,代码行数:83,代码来源:noObjectMutationRule.ts


注:本文中的tsutils/typeguard/2.8.isPostfixUnaryExpression方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。