Как вывести схему из типа с помощью Yup?

#javascript #typescript #graphql #formik #yup

#javascript #typescript #graphql #formik #ага

Вопрос:

Возможно ли вывести схему Yup из типа? Я знаю, что Yup может вывести псевдоним типа TypeScript, используя экспортированный InferType , но я хочу с точностью до наоборот, чтобы из типа получить действительную схему.

Примечание: я стремлюсь к чему-то подобному, потому что в настоящее время у меня есть очень большая и сложная схема Yup (для formik validationSchema), которая представляет собой объединение других (уже определенных) типов (сгенерированных graphql codegen).

Комментарии:

1. Переход от типа к значению (а схема yup — это значение JS) в принципе невозможен. Информация может перетекать из значений в типы, но никогда наоборот, поскольку типы стираются во время компиляции, поэтому вы не можете заставить значение получать какую-либо информацию из типа во время выполнения. Вы могли бы использовать API компилятора, чтобы извлечь информацию о типе, а затем сгенерировать схему как часть вашего процесса сборки.

2. medium.com/@maurice.de.beijer/…