我具有带类型保护的以下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
答案 0 :(得分:0)
您如何运行TSLint?您项目的TSLint和TypeScript可能与您手动运行的有所不同。
如果您正在命令行上运行TSLint(例如使用tslint -c tslint.json
),请尝试将其和相关库更新到最新版本:
npm i -g tslint@latest typescript@latest tsutils@latest
如果通过editor / IDE扩展名,请确保它和扩展名是最新的。