Создание проблем и их героическое преодоление. Обмазываем нечитаемые портянки из GraphQL не очевидными реализациями Тайпскрипта) Представляю какой кайф это все поддерживать будет.
Выглядит интересно. Непонятно, как это вообще работает. В такой реализации рекурсии нет механизма досрочного выхода, но тип все-таки вычисляется. Я предполагаю, что это заслуга встроенного ограничения на 50 рекурсивных вызовов в TS и еще какой-то магии) Ведь из примера в видео в какой-то момент в наш кастомный тип попадает значение по ключу "label", и получается NonNullableQuery. А это вычисляется как тип объекта String.prototype, который тут же опять попадает в наш кастомный тип и т.д., пока компилятор сам не остановится. Хз, если это не начнет со временем сильно лагать из-за неоправданного объема работы, то может вариант с таким типом и хорош. Но в MUI и Emotion вроде, где я видел рекурсивные типы, использовался conditional type (тернарник в TS) для досрочного выхода/продожления рекурсии. На Гитхабе тайпскрипта есть хорошее описание рекурсии в TS. Ищите PR Recursive conditional types #40002, закладка conversation.
Михаил, есть такой важный вопрос: А получится сделать видео на тему деплоя своего проекта на реальный домен? Вот допустим, я создал на React/NextJS сайт-портфолио, залил его на Vercel. Но мне хочется короткое и понятное доменное имя и всё в таком духе. Хотелось бы разобраться как это всё работает И отдельно хотелось бы понять, как на Vercel делаются кастомные домены. Я так и не понял, как правильно это настраивать. Спасибо!
Поясни пжлст почему не использовать graphql fragment в связке с генератором типов? Т.е. ты создаешь схему в схеме создаешь fragment, генеришь типы и получаешь готовый интерфейс ответа graphql query через fragment?
Оно так и работает, только тип фрагмента по специфике идёт с null и undefined на каждом шаге. А на уровне компонента я могу ожидать данные с постобработкой.
Я тоже не находил =) Скорее всего в блоге Майкрософт, где они публикуют информацию о каждой новой версии TS. Но я навскидку не скажу, когда такая штука появилась.