鉴于此代码:
class Foo {
text: String;
}
TypeScript将生成此JavaScript:
var Foo = (function () {
function Foo() {
}
return Foo;
}());
但是,如果我用任何装饰器装饰text
,例如像这样的function bar(t, k) {}
:
class Foo {
@bar text: String;
}
TypeScript将产生:
var Foo = (function () {
function Foo() {
}
__decorate([
bar,
__metadata('design:type', String)
], Foo.prototype, "text", void 0);
return Foo;
}());
也就是说,它使用text
函数和使用bar
元数据来装饰design:type
。这很棒,但是我想指示TypeScript使用design:type
元数据来装饰所有属性,而不需要像@bar
这样的虚假装饰器。
是否可以使用最新的TypeScript?如果没有(请参阅注释)有关如何使用编译器API实现此目的的任何建议?