#javascript #typescript #graphql #formik #yup
#javascript #typescript #graphql #formik #ага
Вопрос:
Возможно ли вывести схему Yup из типа? Я знаю, что Yup может вывести псевдоним типа TypeScript, используя экспортированный InferType
, но я хочу с точностью до наоборот, чтобы из типа получить действительную схему.
Примечание: я стремлюсь к чему-то подобному, потому что в настоящее время у меня есть очень большая и сложная схема Yup (для formik validationSchema), которая представляет собой объединение других (уже определенных) типов (сгенерированных graphql codegen).
Комментарии:
1. Переход от типа к значению (а схема yup — это значение JS) в принципе невозможен. Информация может перетекать из значений в типы, но никогда наоборот, поскольку типы стираются во время компиляции, поэтому вы не можете заставить значение получать какую-либо информацию из типа во время выполнения. Вы могли бы использовать API компилятора, чтобы извлечь информацию о типе, а затем сгенерировать схему как часть вашего процесса сборки.