saga-flow
Version:
A JavaScript library for implementing the Saga pattern in distributed transactions
41 lines (38 loc) • 1.26 kB
JavaScript
// Core Saga functionality
import { createSaga } from './core/SagaManager.js';
import { defineStep, defineParallelSteps } from './core/Step.js';
import { getContextSnapshot, mergeContexts } from './core/Context.js';
import { scheduleSaga, cancelScheduledSaga } from './core/Scheduler.js';
import { resumeSaga, exportSagaState, getSagaState, clearSagaState } from './export/state.js';
import { registerSnapshotExporter, exportSnapshot, clearSnapshotExporter } from './export/snapshot.js';
import { onEvent, emitEvent } from './core/EventBus.js';
import { withRetry, createRetryPolicy } from './utils/retry.js';
import { withTimeout, createTimeoutPolicy, TimeoutError } from './utils/timeout.js';
import { executeParallel, createParallelExecutor } from './utils/parallel.js';
import { logger } from './utils/logger.js';
export {
createSaga,
defineStep,
defineParallelSteps,
getContextSnapshot,
mergeContexts,
resumeSaga,
exportSagaState,
getSagaState,
clearSagaState,
scheduleSaga,
cancelScheduledSaga,
registerSnapshotExporter,
exportSnapshot,
clearSnapshotExporter,
onEvent,
emitEvent,
withRetry,
createRetryPolicy,
withTimeout,
createTimeoutPolicy,
TimeoutError,
executeParallel,
createParallelExecutor,
logger
};