169 похожих чатов

Всем привет Как сейчас в реакт+тс мире принято осуществлять рантайм тайпчекинг

апи коллов?

Ну то есть есть некоторое json api. Есть морда на тайпскрипте написанная под него. Так как бекендеры косячат, схема джсон ответа может быть не та, что договорились и ui падают в рантайме пытаясь обработать странное.

Соответственно нужен механизм позволяющий как-то взять информацию о типах которая у нас уже есть в тсе, чтобы не писать одно и то же два раза, и проверить по ней ответ сервера в рантайме. Чтобы если он странный - сказать "Ой, все" и дальше его не обрабатывать.

Понятно что это в целом не рокет сайенс, гуглится полдесятка подходов разной сырости. Интересно кто что использует в продакшне и доволен этим?

4 ответов

13 просмотров

Graphql, runtypes, io-ts, typedcontracts, superstruct. В проде юзал io-ts, но вроде как про runtypes и superstruct слышал хорошее

https://github.com/epoberezkin/ajv у нас активно использовалась на проекте как раз для проверки ответов из апи

я как раз такую штуку делаю https://github.com/ts-type-makeup/superstruct-ts-transformer

Open api (swagger)?

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
76
а что есть "статистика" ? просто подсчет фактов обращения и времен выполнения ?
Сергей
9
Карта сайта