Интеграция с Vue
Composables для реактивного использования PipelineOrchestrator и createRestClient() в Vue 3. Импортируйте из rest-pipeline-js/vue (реэкспортирует и базовую точку входа, так что достаточно одного импорта на оба случая).
<script setup>
import {
PipelineOrchestrator,
usePipelineProgressVue,
usePipelineRunVue,
} from 'rest-pipeline-js/vue'
const orchestrator = new PipelineOrchestrator({
config: {
stages: [/* ... */],
},
})
const progress = usePipelineProgressVue(orchestrator)
const { run, running, result, error, abort, pause, resume, rerunStep } =
usePipelineRunVue(orchestrator)
</script>
<template>
<div>
<div>Current stage: {{ progress.currentStage }}</div>
<button @click="run()" :disabled="running">Start</button>
<button @click="abort()" :disabled="!running">Abort</button>
<button @click="pause()">Pause</button>
<button @click="resume()">Resume</button>
<div v-if="result">Done: {{ result }}</div>
<div v-if="error">Error: {{ error.message }}</div>
</div>
</template>usePipelineRunVue(orchestrator)
Запуск пайплайна и реактивное отслеживание его статуса/результата.
Параметры
orchestrator: PipelineOrchestrator
Возвращает
{ run, running, result, error, stageResults, abort, pause, resume, rerunStep, clearStageResults }
running/result/error/stageResults — это Ref; run/abort/pause/resume/rerunStep/clearStageResults напрямую вызывают соответствующий метод PipelineOrchestrator, а run/abort дополнительно обновляют реактивное состояние выше.
usePipelineProgressVue(orchestrator)
Реактивный прогресс пайплайна.
Параметры
orchestrator: PipelineOrchestrator
Возвращает
Ref<PipelineProgress> — обновляется при каждом коллбэке orchestrator.subscribeProgress().
usePipelineStageResultVue(orchestrator, stepKey)
Реактивный результат одного конкретного этапа — обновляется при каждом изменении stageResults, а не только один раз.
Параметры
orchestrator: PipelineOrchestratorstepKey: string— ключ этапа для наблюдения
Возвращает
Ref<PipelineStepResult | null>
const userResult = usePipelineStageResultVue(orchestrator, 'fetchUser')
// userResult.value?.status === "success"
// userResult.value?.data — данные этапаusePipelineStepEventVue(orchestrator, stepKey, eventType)
Подписка на конкретное событие шага (success/error/progress).
Параметры
orchestrator: PipelineOrchestratorstepKey: stringeventType: "success" | "error" | "progress"
Возвращает
Ref<any> — последняя полезная нагрузка события.
usePipelineLogsVue(orchestrator)
Реактивные логи пайплайна.
Параметры
orchestrator: PipelineOrchestrator
Возвращает
Ref<log[]> — обновляется при каждом событии "log".
useRerunPipelineStepVue(orchestrator)
Связанный rerunStep для одного оркестратора, удобно передавать напрямую как обработчик события.
Параметры
orchestrator: PipelineOrchestrator
Возвращает
(stepKey: string, options?) => Promise<...> — orchestrator.rerunStep, привязанный к orchestrator.
useRestClientVue(config)
Реактивный, мемоизированный RestClient — пересчитывается только при изменении config.
Параметры
config: HttpConfig — та же форма, что и у конфигурации createRestClient().
Возвращает
ComputedRef<RestClient>