[英]Disable use of some strings by regex in TSLint?
由于JavaScript转换为TypeScript,我有时会在代码构造中看到这样的结构:
private doSomething = function (params: IParams) {
}
虽然正确的变体是:
private doSomething (params: IParams) {
}
前一个使它成为JS函数,其主体未被分析并按原样编译。 Latter由TypeScript编译器检查,如果有错误的调用,例如另一个类的私有方法,则会抛出错误。
我想在TSLint中有一个规则,它允许我标记为错误的字符串,如(private|public|protected)\\s+(.+)=\\s*function
。
那么,是否可以向TSLint添加规则,可以作为现有插件,在字符串中搜索正则表达式?
我担心这不容易。 Tslint允许您使用Syntax Walkers
而不是正则表达式声明自定义规则 。
您的规则可以解析TypeScript生成的抽象语法树(AST):
给定一个walker,TypeScript的解析器使用访问者模式访问AST。 因此规则步行者只需要覆盖适当的访问者方法来强制执行其检查。
我不确定,但你可能需要visitPropertyAssignment
walker。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.