20 lines
703 B
TypeScript
20 lines
703 B
TypeScript
import * as Lint from "tslint/lib/lint";
|
|
import * as ts from "typescript";
|
|
|
|
|
|
export class Rule extends Lint.Rules.AbstractRule {
|
|
public static FAILURE_STRING = "Don't use the 'null' keyword - use 'undefined' for missing values instead";
|
|
|
|
public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
|
|
return this.applyWithWalker(new NullWalker(sourceFile, this.getOptions()));
|
|
}
|
|
}
|
|
|
|
class NullWalker extends Lint.RuleWalker {
|
|
visitNode(node: ts.Node) {
|
|
super.visitNode(node);
|
|
if (node.kind === ts.SyntaxKind.NullKeyword) {
|
|
this.addFailure(this.createFailure(node.getStart(), node.getWidth(), Rule.FAILURE_STRING));
|
|
}
|
|
}
|
|
}
|