本文整理汇总了TypeScript中tslint.RuleFailure类的典型用法代码示例。如果您正苦于以下问题:TypeScript RuleFailure类的具体用法?TypeScript RuleFailure怎么用?TypeScript RuleFailure使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RuleFailure类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: analyze
ts.forEachChild(sourceFile, function analyze(node) {
if (ts.isPropertyAssignment(node) &&
(ts.isIdentifier(node.name) || ts.isStringLiteral(node.name)) &&
node.name.text === 'loadChildren' &&
ts.isStringLiteral(node.initializer)) {
const valueNode = node.initializer;
const parts = valueNode.text.split(LOAD_CHILDREN_SPLIT);
const path = parts[0];
const moduleName = parts[1] || 'default';
let fix = `() => import('${path}').then(m => m.${moduleName})`;
// Try to fix indentation in replacement:
const { character } = ast.getLineAndCharacterOfPosition(node.getStart());
fix = fix.replace(/\n/g, `\n${' '.repeat(character)}`);
const replacement = new Replacement(valueNode.getStart(), valueNode.getWidth(), fix);
const start = node.getStart();
const end = node.getEnd();
const change = new RuleFailure(ast, start, end, FAILURE_MESSAGE, ruleName, replacement);
change.setRuleSeverity('warning');
changes.push(change);
}
ts.forEachChild(node, analyze);
});
示例2: super
super('no-require-imports', function (this: Formatter, failure: RuleFailure): void {
const fileName: string = failure.getFileName();
const fileContents: string = this.readFile(fileName);
const start: number = failure.getStartPosition().getPosition();
const end: number = failure.getEndPosition().getPosition();
let importStartIndex = fileContents.lastIndexOf('\n', start) + 1;
if (importStartIndex === -1) {
importStartIndex = 0;
}
const importEndIndex = fileContents.indexOf('\n', end);
const leftSide: string = fileContents.substring(0, importStartIndex);
const middle: string = fileContents.substring(importStartIndex, importEndIndex).trim();
const rightSide: string = fileContents.substring(importEndIndex);
let newImport: string = middle.replace(
/import\s+(.*)\s+=\s*require\(((.|\s)*)\);/m,
'import {$1} from $2;');
newImport = newImport.replace(/from \n/, 'from\n'); // clean up some spacing
const newContent: string = leftSide + newImport + rightSide;
this.writeFile(fileName, newContent);
/* tslint:disable:no-console */
console.log('Automatically converting require-style import to an ES6 import. Please re-compile and re-lint: ' + fileName);
/* tslint:enable:no-console */
});
示例3: formatFailure
private formatFailure(failure: RuleFailure): string {
const fileName: string = failure.getFileName();
const failureString: string = failure.getFailure();
const ruleName: string = failure.getRuleName();
const lineAndCharacter = failure.getStartPosition().getLineAndCharacter();
const positionTuple = '[' + (lineAndCharacter.line + 1) + ', ' + (lineAndCharacter.character + 1) + ']';
return '(' + ruleName + ') ' + fileName + positionTuple + ': ' + failureString;
}
示例4: createFailure
export function createFailure(
sourceFile: ts.SourceFile,
start: number,
end: number,
failure: string,
ruleName: string,
fix?: Fix,
ruleSeverity: RuleSeverity = "warning",
) {
const rule = new RuleFailure(sourceFile, start, end, failure, ruleName, fix);
rule.setRuleSeverity(ruleSeverity);
return rule;
}
示例5: super
super('no-var-keyword', function (this: Formatter, failure: RuleFailure): void {
const fileName: string = failure.getFileName();
const fileContents: string = this.readFile(fileName);
const end: number = failure.getEndPosition().getPosition();
let leftSide: string = fileContents.substring(0, end);
leftSide = leftSide.replace(/var$/, 'let');
const rightSide: string = fileContents.substring(end);
const newContent: string = leftSide + rightSide;
this.writeFile(fileName, newContent);
/* tslint:disable:no-console */
console.log('Automatically converting var to let. Please re-compile and re-lint: ' + fileName);
/* tslint:enable:no-console */
});