Скажем, мы пытаемся реализовать отображение Pick
типа :
type Pick<T, K extends keyof T> = {
[P in K]: T[P];
};
Мы должны ожидать, что любой тип, созданный из этого, соответствует некоторой проверке во время компиляции машинописи. Есть ли способ проверить это? Используете среду тестирования или нет?
type Foo = { foo: string, bar: string };
type TestType = Pick<Foo, 'foo'>;
// expect this to fail at compile time because of property 'bar'
let foo: TestType = { foo: 'foo', bar: 'bar' };