Type alias StreamOutputMap<TStreamMode, TStreamSubgraphs, StreamUpdates, StreamValues, Nodes>

StreamOutputMap<TStreamMode, TStreamSubgraphs, StreamUpdates, StreamValues, Nodes>: (undefined extends TStreamMode
        ? []
        : (StreamMode | StreamMode[]) extends TStreamMode
            ? TStreamMode extends StreamMode[]
                ? TStreamMode[number]
                : TStreamMode
            : TStreamMode extends StreamMode[]
                ? TStreamMode[number]
                : []) extends infer Multiple extends StreamMode
    ? [TStreamSubgraphs] extends [true]
        ? {
            checkpoints: [string[], "checkpoints", StreamCheckpointsOutput<StreamValues>];
            custom: [string[], "custom", StreamCustomOutput];
            debug: [string[], "debug", StreamDebugOutput];
            messages: [string[], "messages", StreamMessageOutput];
            tasks: [string[], "tasks", StreamTasksOutput<StreamUpdates, StreamValues>];
            updates: [string[], "updates", Record<Nodes extends string
                ? Nodes
                : string, StreamUpdates>];
            values: [string[], "values", StreamValues];
        }[Multiple]
        : {
            checkpoints: ["checkpoints", StreamCheckpointsOutput<StreamValues>];
            custom: ["custom", StreamCustomOutput];
            debug: ["debug", StreamDebugOutput];
            messages: ["messages", StreamMessageOutput];
            tasks: ["tasks", StreamTasksOutput<StreamUpdates, StreamValues, Nodes>];
            updates: ["updates", Record<Nodes extends string
                ? Nodes
                : string, StreamUpdates>];
            values: ["values", StreamValues];
        }[Multiple]
    : (undefined extends TStreamMode
            ? DefaultStreamMode
            : TStreamMode) extends infer Single extends StreamMode
        ? [TStreamSubgraphs] extends [true]
            ? {
                checkpoints: [string[], StreamCheckpointsOutput<StreamValues>];
                custom: [string[], StreamCustomOutput];
                debug: [string[], StreamDebugOutput];
                messages: [string[], StreamMessageOutput];
                tasks: [string[], StreamTasksOutput<StreamUpdates, StreamValues, Nodes>];
                updates: [string[], Record<Nodes extends string
                    ? Nodes
                    : string, StreamUpdates>];
                values: [string[], StreamValues];
            }[Single]
            : {
                checkpoints: StreamCheckpointsOutput<StreamValues>;
                custom: StreamCustomOutput;
                debug: StreamDebugOutput;
                messages: StreamMessageOutput;
                tasks: StreamTasksOutput<StreamUpdates, StreamValues, Nodes>;
                updates: Record<Nodes extends string
                    ? Nodes
                    : string, StreamUpdates>;
                values: StreamValues;
            }[Single]
        : never

Type Parameters

  • TStreamMode extends StreamMode | StreamMode[] | undefined
  • TStreamSubgraphs extends boolean
  • StreamUpdates
  • StreamValues
  • Nodes