本文整理汇总了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');
}
}
}
示例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');
}
}
}
示例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');
}
}
}
};
示例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');
}
}
}
}
}
示例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');
}
}
}
示例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');
}
}
示例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');
}
}
}
}
示例8: issueFrom
identifier => rule.regex.test(identifier.text)
? bl.add(issues, issueFrom(node, rule.message, 'invalid-name'))
: issues,
示例9: noThrow
export default function noThrow(node: ts.Node): Issue | void {
if (isThrowStatement(node)) {
return issueFrom(node, 'no throw', 'no-throw');
}
};