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


TypeScript issue.issueFrom函数代码示例

本文整理汇总了TypeScript中linting/issue.issueFrom函数的典型用法代码示例。如果您正苦于以下问题:TypeScript issueFrom函数的具体用法?TypeScript issueFrom怎么用?TypeScript issueFrom使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: noConstantLambdas

export default function noConstantLambdas(node: ts.Node, checker: ts.TypeChecker): Issue | void {
    if (isArrowFunction(node)) {
        const body = node.body;

        if (isIdentifier(body)) {
            return isUndefined(body)
                ? issueFrom(body, 'undefined returned', 'no-undefined-lambdas')
                : verifyIdentifier(body, checker);
        }

        if (isStringLiteral(body) || isNumericLiteral(body) || isNullLiteral(body)) {
            return issueFrom(body, 'literal returned', 'no-literal-lambdas');
        }

    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:16,代码来源:rule.ts

示例2: noUndeclaredSymbols

export default function noUndeclaredSymbols(node: ts.Node, checker: ts.TypeChecker): Issue | void {
    if (isIdentifier(node)) {
        const symbol = checker.getSymbolAtLocation(node);
        if (symbol === undefined) {
            return issueFrom(node, 'undeclared', 'undeclared');
        }
    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:8,代码来源:rule.ts

示例3: noExportImport

export default function noExportImport(node: ts.Node): Issue | void {
    if (isImportEqualsDeclaration(node)) {
        if (node.modifiers !== undefined && node.modifiers.length > 0) {
            const modifier = node.modifiers[0];
            if (modifier.getText() === 'export') {
                return issueFrom(modifier, 'no export import', 'no-export-import');
            }
        }
    }
};
开发者ID:aleksey-bykov,项目名称:rules,代码行数:10,代码来源:rule.ts

示例4: toNoPrimitiveToSelf

export default function toNoPrimitiveToSelf(node: ts.Node, checker: ts.TypeChecker): Issue | void {
    if (isCallExpression(node)) {
        if (isIdentifier(node.expression)) {
            if (node.arguments.length > 1) {
            } else if (node.arguments.length > 0) {
                if (node.expression.text === 'String') {
                    const argument = node.arguments[0]!;
                    const expressionType = checker.getTypeAtLocation(argument);
                    if (expressionType.flags & ts.TypeFlags.String) {
                        return issueFrom(node, 'string to string conversion', 'string-to-string');
                    }
                } else if (node.expression.text === 'Number') {
                    return issueFrom(node, 'number conversion', 'something-to-number');
                } else if (node.expression.text === 'Boolean') {
                    return issueFrom(node, 'boolean conversion', 'something-to-boolean');
                }
            }
        }
    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:20,代码来源:rule.ts

示例5: toBadComment

export default function toBadComment(node: ts.Node, _: ts.TypeChecker, _config: Config): Issue | void {
    const identifier = nameIdentifierOutOf(node);
    if (identifier !== undefined && identifier.parent !== undefined) {
        const fragments = ba.insteadEach(leadingCommentsStrippedOutOf(identifier.parent), normalize);
        const name = normalize(identifier.text);
        const found = ba.firstThatOutOf(fragments, fragment => fragment === name);
        if (found !== undefined) {
            return issueFrom(node, 'useless comment', 'useless-comment');
        }
    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:11,代码来源:rule.ts

示例6: verifyIdentifier

function verifyIdentifier(node: ts.Identifier, checker: ts.TypeChecker): Issue | void {
    if (node.parent === undefined) return;
    if (isVariableDeclaration(node.parent) && node.parent.initializer === node) return;

    const symbol = checker.getSymbolAtLocation(node);
    if (symbol === undefined) return fail('Unable to get symbol.');
    const declared = symbol.getDeclarations();
    if (declared === undefined) return fail('There is no declaration.');
    if (declared.length < 1) return fail('There are ' + declared.length + ' declarations.');
    const declaration = declared[0];
    if (isVariableDeclaration(declaration) && hasConstModifier(declaration)) {
        return issueFrom(node, 'const returned', 'no-const-lambdas');
    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:14,代码来源:rule.ts

示例7: toNoUnnecessaryAnnotations

export default function toNoUnnecessaryAnnotations(node: ts.Node, checker: ts.TypeChecker): Issue | void {
    if (isVariableDeclaration(node)) {
        if (node.initializer !== undefined && node.type !== undefined) {

            const typeNodeBackup = node.type;
            node.type = undefined;

            const expressionType = checker.getTypeAtLocation(node.initializer);
            node.type = typeNodeBackup;

            const declaredType = checker.getTypeAtLocation(node.type);
            if (expressionType.id === declaredType.id) {
                return issueFrom(node, 'unnecessary type annotation', 'unnecessary-annotation');
            }
        }
    }
}
开发者ID:aleksey-bykov,项目名称:rules,代码行数:17,代码来源:rule.ts

示例8: issueFrom

 identifier => rule.regex.test(identifier.text)
     ? bl.add(issues, issueFrom(node, rule.message, 'invalid-name'))
     : issues,
开发者ID:aleksey-bykov,项目名称:rules,代码行数:3,代码来源:rule.ts

示例9: noThrow

export default function noThrow(node: ts.Node): Issue | void {
    if (isThrowStatement(node)) {
        return issueFrom(node, 'no throw', 'no-throw');
    }
};
开发者ID:aleksey-bykov,项目名称:rules,代码行数:5,代码来源:rule.ts


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