satisfies (TS 4.9+) проверяет, что значение соответствует типу без расширения выведенного типа значения. Он валидирует ограничение, сохраняя при этом точный, буквальный тип для последующего использования — лучшее из аннотации и вывода.
Проблема, которую он решает
ts
= <, | >;
: = { : , : };
a..();
b = { : , : } ;
b..();
b..();
