footprintjs - v11.2.0
    Preparing search index...

    Interface HandlerDeps<TOut, TScope>

    HandlerDeps — Dependency injection bag passed to all handler modules.

    Provides shared state (stageMap, runtime, scopeFactory, etc.) without handlers needing to import the traverser directly. Avoids circular deps.

    interface HandlerDeps<TOut = any, TScope = any> {
        executionEnv?: ExecutionEnv;
        executionRuntime: IExecutionRuntime;
        logger: ILogger;
        narrativeGenerator: IControlFlowNarrative;
        readOnlyContext?: unknown;
        resume?: ResumeEntry<TOut, TScope>;
        root: StageNode<TOut, TScope>;
        scopeFactory: ScopeFactory<TScope>;
        scopeProtectionMode: ScopeProtectionMode;
        signal?: AbortSignal;
        stageMap: Map<string, StageHandler<TOut, TScope>>;
        streamHandlers?: StreamHandlers;
        subflows?: Record<string, { root: StageNode<TOut, TScope> }>;
        throttlingErrorChecker?: (error: unknown) => boolean;
    }

    Type Parameters

    • TOut = any
    • TScope = any
    Index
    executionEnv?: ExecutionEnv

    Execution environment — propagates to subflows automatically.

    executionRuntime: IExecutionRuntime
    logger: ILogger
    narrativeGenerator: IControlFlowNarrative
    readOnlyContext?: unknown

    The resume's one-shot re-entry (M2) — shared by reference with every nested traverser, like the execution counter. SubflowExecutor asks it at each subflow entry: the FIRST entry into a subflow on the pause path takes that subflow's captured state (seeding the nested runtime in place of the inputMapper's values — the mapper still runs for the read-only args), its entry point and any sibling pauses waiting there; every later entry is an ordinary one. See ResumeEntry. Undefined on normal run() paths.

    scopeFactory: ScopeFactory<TScope>
    scopeProtectionMode: ScopeProtectionMode
    signal?: AbortSignal
    stageMap: Map<string, StageHandler<TOut, TScope>>
    streamHandlers?: StreamHandlers
    subflows?: Record<string, { root: StageNode<TOut, TScope> }>
    throttlingErrorChecker?: (error: unknown) => boolean