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


TypeScript 8.isTypeOperatorNode方法代码示例

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


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

示例1: checkArrayType

function checkArrayType(
  node: ts.Node,
  ctx: Lint.WalkContext<Options>
): CheckNodeResult {
  // We need to check both shorthand syntax "number[]"...
  if (utils.isArrayTypeNode(node)) {
    // Ignore arrays decleared with readonly keyword.
    if (
      node.parent &&
      utils.isTypeOperatorNode(node.parent) &&
      node.parent.operator === ts.SyntaxKind.ReadonlyKeyword
    ) {
      return { invalidNodes: [] };
    }

    if (
      node.parent &&
      Ignore.shouldIgnorePrefix(node.parent, ctx.options, ctx.sourceFile)
    ) {
      return {
        invalidNodes: [],
        skipChildren: true
      };
    }

    if (
      ctx.options.ignoreRestParameters &&
      node.parent &&
      utils.isParameterDeclaration(node.parent) &&
      node.parent.dotDotDotToken
    ) {
      return { invalidNodes: [] };
    }

    if (ctx.options.ignoreReturnType && checkIsReturnTypeOrNestedWithIn(node)) {
      return { invalidNodes: [] };
    }

    const [major, minor] = ts.version
      .split(".")
      .map(n => Number.parseInt(n, 10));

    return {
      invalidNodes: [
        createInvalidNode(
          node,
          major > 3 || (major === 3 && minor >= 4)
            ? getReadonlyKeywordFix(node, ctx)
            : getReadonlyArrayFix(node, ctx)
        )
      ]
    };
  }
  return { invalidNodes: [] };
}
开发者ID:jonaskello,项目名称:tslint-immutable,代码行数:55,代码来源:readonlyArrayRule.ts


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