繁体   English   中英

在TSLint中禁用regex使用某些字符串?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM