- 14 11月, 2019 12 次提交
-
-
由 Matt Bierner 提交于
Our code currently uses the `IConstructorSignature` types in a two main ways: - As argument types in functions that take a service constructor. - As return types or property types when we expose a service constructor in the API This first usage is not valid with strict function types. The reason is that the `IConstructorSignature` types takes a rest array of `...services: BrandedService[]` , while the concrete constructors you pass in use actual services. With strict function types, you cannot convert the concrete constructor type to an `IConstructorSignature` because this would drop important type information that the implementation needs. As an example ```ts class Foo { constructor(@ILogService service: ILogService) {} } registerFoo(Foo); // The type of `ctor` inlines `IConstructorSignature0` function registerFoo(ctor: { new(....serivces: BrandedService[]): Foo}) { // When registerFoo(Foo) is called, the implementation here would need to know that // ctor needs to be invoked with exactly one `ILogService`. However the type of `IConstructorSignature0` // does not express this. Strict function types therefore disallows this conversion } ``` To fix this, I have converted a few places were we were taking `IConstructorSignature` arguments so that they preserve the full type of the constructor. This fixed over half of our 900 strict function type errors. Unfortunatly I can not figure out a more elegant way to express this besides inlining the types However, even after this change, we still need to figure out how to deal with: - Places in the code where `IConstructorSignature` is exposed as a return type or object property - How to deal with all of our descriptor types (such as `SyncActionDescriptor`)
-
由 Jackson Kearl 提交于
-
由 Jackson Kearl 提交于
-
由 Johannes Rieken 提交于
This reverts commit 283c952d.
-
由 Benjamin Pasero 提交于
-
由 Benjamin Pasero 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Johannes Rieken 提交于
-
由 Andre Weinand 提交于
-
由 Benjamin Pasero 提交于
-
由 Benjamin Pasero 提交于
-
- 13 11月, 2019 28 次提交
-
-
由 Sandeep Somavarapu 提交于
-
由 Christof Marti 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Joao Moreno 提交于
-
由 Joao Moreno 提交于
-
由 Benjamin Pasero 提交于
-
由 Johannes Rieken 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Alexandru Dima 提交于
Replace layer hinting using `will-change: transform` with `transform: translate3d(0px, 0px, 0px)` (#84214)
-
由 Johannes Rieken 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Benjamin Pasero 提交于
-
由 Benjamin Pasero 提交于
This reverts commit 8faa1d52.
-
由 Benjamin Pasero 提交于
-
由 Joao Moreno 提交于
-
由 Alexandru Dima 提交于
-
由 Alexandru Dima 提交于
-
由 Joao Moreno 提交于
-
由 Benjamin Pasero 提交于
-
由 Joao Moreno 提交于
related to #84283
-
由 Alex Ross 提交于
-
由 Sandeep Somavarapu 提交于
-
由 Alex Ross 提交于
Fixes #84138
-
由 Benjamin Pasero 提交于
This reverts commit 54a6229d.
-
由 Matt Bierner 提交于
For #84283
-