Демо
Многосценарное интерактивное демо, демонстрирующее ключевые возможности rest-pipeline-js, полностью работающее на локальном mock API, поднятом прямо на dev-сервере Vite (demo/server/) — настоящие HTTP/WebSocket/SSE round-trip'ы с реальным сетевым таймингом, без внешнего сервиса и нестабильных сторонних зависимостей.
bash
git clone https://github.com/macrulezru/pipeline-js.git
cd pipeline-js
npm install
npm run demo:vueОткрывается по адресу http://localhost:3000. Демо-приложение лежит в директории demo/.
| Демо | Что показывает |
|---|---|
| 🚦 CI/CD-пайплайн | Параллельные сборки по каждому сервису, вложенный subPipeline, автоматический retry/backoff с выбираемой jitterStrategy, реальный шлюз ручного подтверждения через pause()/resume(), ветвление DAG через next() для хотфиксов, живой поток логов по SSE, PipelinePlugin, а также exportState()/importState() |
| 📈 Торговый терминал | Этап .websocket(), транслирующий котировки в реальном времени, вход через AuthProvider, идемпотентное размещение ордеров, реальные заголовки X-RateLimit-*, управляющие onRateLimitHeaders/throttleFor(), офлайн-очередь ордеров и circuit breaker на эндпоинте брокера |
| 🔐 Провайдер аутентификации | Изолированный цикл getToken()/onUnauthorized() — кэширование токена, ручной сброс срока действия и автоматическая цепочка 401 → обновление → повтор |
| 📄 Пагинация | paginate() как AsyncGenerator — переключение стратегии курсор/offset на одном и том же наборе данных истории сборок |
| 🧪 Валидация схемы | validateOutput, отлавливающий некорректный ответ, в сравнении с recoverStep(), спасающим шаг |
| 🕸️ Продвинутая оркестрация | Ветвление DAG через next(), вложенный subPipeline, PipelinePlugin, а также exportState()/importState() в свежий экземпляр оркестратора |