v0.4.0
·
44 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Новый пакет @itd-api/hydrate, улучшенная типизация и внутренняя декомпозиция SDK
@itd-api/hydrate
- Новый пакет
@itd-api/hydrateдобавляет типизированные методы действий непосредственно к моделям постов, комментариев, пользователей, вложений и уведомлений. - Посты получают методы
get(),like(),unlike(),comment(),repost(),remove(),restore(),pin()иunpin(). - Комментарии поддерживают реакции, ответы, изменение, удаление, восстановление и загрузку ответов через
getReplies(). - Авторы, профили и участники уведомлений получают методы работы с подписками, блокировкой и постами пользователя.
- Вложенные модели, страницы,
Paginator,collect(), асинхронный перебор и результаты действий гидратируются автоматически. - Гидратация поддерживается в realtime-контекстах, middleware и обработчиках уведомлений.
- Методы моделей не перечисляются через
Object.keys()и не попадают в JSON. - Пакет совместим с авторизацией, настройками запросов и подключёнными плагинами, включая
@itd-api/cache.
Типизация
- Добавлен публичный тип
CreatePostDataдля нормализованного результатаPostBuilder.build()иresolvePost(). - Входной
CreatePostInputпо-прежнему принимает обычный объект,PollBuilderили функцию настройки опроса. RealtimeRouterтеперь поддерживает собственный тип контекста, что позволяет безопасно использовать его с гидратированными realtime-обновлениями.- Существующие публичные exports основного пакета сохранены.
Технические улучшения
- Модели разделены по доменам: пользователи, контент, уведомления, аккаунты, платформа и статусы.
- Контракты плагинов отделены от registry, порядка установки и выполнения hooks.
- Система вложений разделена на публичные контракты, фабрики, ограничения, настройки и потоковую обработку.
- Mock server из
@itd-api/testingразделён на состояние, seed-данные, сущности и маршруты. - Удалены внутренние фасады, которые больше не требовались для совместимости.
Full Changelog: v0.3.0...v0.4.0