生成的打字稿DTO使用尖括号声明

时间:2019-07-24 00:27:54

标签: typescript servicestack

我们正在使用提供的Typescript ServicStack参考工具生成DTO,但这会产生警告警告。

失败的棉绒规则是no-angle-bracket-type-assertion,请参考此以获取一些详细信息:https://palantir.github.io/tslint/rules/no-angle-bracket-type-assertion/

我可以禁用该规则并取消此规则,但这会引起此处https://basarat.gitbooks.io/typescript/docs/types/type-assertion.html所述的歧义,因此建议使用新语法。

当前,它们使用尖括号语法()生成:

public constructor(init?:Partial<ResponseError>) { (<any>Object).assign(this, init); }

但是他们应该使用“任意”语法:

public constructor(init?:Partial<ResponseError>) { (Object as any).assign(this, init); }

有人知道如何更改生成的DTO或仅忽略这一个文件吗?

1 个答案:

答案 0 :(得分:1)

他们是both valid TypeScript syntax for Type Assertions。 Palintir不会决定有效的语法(这是TypeScript编译器的作用),他们只是设置一些可以更改的可替代默认值。

从最新的v5.5.1 of ServiceStack that's now on MyGet开始,它始终采用tslint (Object as any)默认值。