Есть ли стандартный способ автоматизировать тестирование конструкций компиляции машинописного текста, таких как mapped-типы? - PullRequest
1 голос
/ 22 мая 2019

Скажем, мы пытаемся реализовать отображение 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' };
...