TSLint在类型防护中检测到解析错误,但TS编译器未检测到任何错误

时间:2019-03-07 09:29:23

标签: typescript typescript-typings tslint

我具有带类型保护的以下TypeScript方法:

static void Main(string[] args)
{
    string userName = "username@Tenantname.onmicrosoft.com";
    string password = "*************";
    var siteurl = "https://zheguo.sharepoint.com/sites/dev";
    var securePassword = new SecureString();
    foreach (char c in password)
    {
        securePassword.AppendChar(c);
    }
    using (var clientContext = new ClientContext(siteurl))
    {
        var onlineCredentials = new SharePointOnlineCredentials(userName, securePassword);
        clientContext.Credentials = onlineCredentials;
        Web web = clientContext.Web;
        clientContext.Load(web, a => a.ServerRelativeUrl);
        clientContext.ExecuteQuery();
        web.Title = "Website Properties Updated via CSOM";

        web.Update();
        clientContext.Load(web);
        clientContext.ExecuteQuery();


    }
}

在文件上运行export function isArray(item: any): item is Array<any> { return item.constructor === Array; } 时,得到以下输出:

tslint

类型保护在我的linter中抛出某种语法解析错误。这只是一个例子,在我写的每个类型保护中都发生过。

对可能导致此问题的任何想法?我似乎在网上找不到其他人。


附录

我的打字稿/ tslint版本是:

1:42  error  Parsing error: Unexpected token, expected "{"

> 1 | export function isArray(item: any): item is Array<any> {
    |                                          ^
  2 |     return item.constructor === Array
  3 | }

我的"tslib": "1.9.3", "tslint": "5.13.1", "tslint-config-prettier": "1.18.0", "tslint-eslint-rules": "5.4.0", "tslint-react": "3.6.0", "typescript": "3.3.3333", 配置是:

tslint

1 个答案:

答案 0 :(得分:0)

您如何运行TSLint?您项目的TSLint和TypeScript可能与您手动运行的有所不同。

如果您正在命令行上运行TSLint(例如使用tslint -c tslint.json),请尝试将其和相关库更新到最新版本:

npm i -g tslint@latest typescript@latest tsutils@latest

如果通过editor / IDE扩展名,请确保它和扩展名是最新的。