@bluelibs/runner - v5.5.0
    Preparing search index...

    Interface TaskFluentBuilder<TInput, TOutput, TDeps, TMeta, TTags, TMiddleware>

    Fluent builder interface for constructing tasks.

    interface TaskFluentBuilder<
        TInput = undefined,
        TOutput extends Promise<any> = Promise<any>,
        TDeps extends DependencyMapType = {},
        TMeta extends ITaskMeta = ITaskMeta,
        TTags extends TagType[] = TagType[],
        TMiddleware extends
            TaskMiddlewareAttachmentType[] = TaskMiddlewareAttachmentType[],
    > {
        id: string;
        build(): ITask<TInput, TOutput, TDeps, TMeta, TTags, TMiddleware>;
        dependencies<TNewDeps extends DependencyMapType>(
            deps: TNewDeps | (() => TNewDeps),
            options?: { override?: false },
        ): TaskFluentBuilder<
            TInput,
            TOutput,
            TDeps & TNewDeps,
            TMeta,
            TTags,
            TMiddleware,
        >;
        dependencies<TNewDeps extends DependencyMapType>(
            deps: TNewDeps | (() => TNewDeps),
            options: { override: true },
        ): TaskFluentBuilder<TInput, TOutput, TNewDeps, TMeta, TTags, TMiddleware>;
        inputSchema<TNewInput>(
            schema: IValidationSchema<TNewInput>,
        ): TaskFluentBuilder<TNewInput, TOutput, TDeps, TMeta, TTags, TMiddleware>;
        meta<TNewMeta extends ITaskMeta>(
            m: TNewMeta,
        ): TaskFluentBuilder<TInput, TOutput, TDeps, TNewMeta, TTags, TMiddleware>;
        middleware<TNewMw extends TaskMiddlewareAttachmentType[]>(
            mw: TNewMw,
            options?: { override?: boolean },
        ): TaskFluentBuilder<TInput, TOutput, TDeps, TMeta, TTags, TNewMw>;
        resultSchema<TResolved>(
            schema: IValidationSchema<TResolved>,
        ): TaskFluentBuilder<
            TInput,
            Promise<TResolved>,
            TDeps,
            TMeta,
            TTags,
            TMiddleware,
        >;
        run<TNewInput = TInput, TNewOutput extends Promise<any> = TOutput>(
            fn: (
                input: HasInputContracts<[...TTags[], ...TMiddleware[]]> extends true
                    ? [ResolveInput<TInput, TNewInput>] extends [undefined]
                        ? InferInputOrViolationFromContracts<[...TTags[], ...TMiddleware[]]>
                        : EnsureInputSatisfiesContracts<
                            [...TTags[], ...TMiddleware[]],
                            ResolveInput<TInput, TNewInput>,
                        >
                    : ResolveInput<TInput, TNewInput>,
                dependencies: DependencyValuesType<TDependencies>,
                context?: { journal: ExecutionJournal },
            ) => HasOutputContracts<[...TTags[], ...TMiddleware[]]> extends true
                ? EnsureOutputSatisfiesContracts<
                    [...TTags[], ...TMiddleware[]],
                    TNewOutput,
                >
                : TNewOutput,
        ): TaskFluentBuilder<
            ResolveInput<TInput, TNewInput>,
            TNewOutput,
            TDeps,
            TMeta,
            TTags,
            TMiddleware,
        >;
        schema<TNewInput>(
            schema: IValidationSchema<TNewInput>,
        ): TaskFluentBuilder<TNewInput, TOutput, TDeps, TMeta, TTags, TMiddleware>;
        tags<TNewTags extends TagType[]>(
            t: TNewTags,
            options?: { override?: false },
        ): TaskFluentBuilder<
            TInput,
            TOutput,
            TDeps,
            TMeta,
            [...TTags[], ...TNewTags[]],
            TMiddleware,
        >;
        tags<TNewTags extends TagType[]>(
            t: TNewTags,
            options: { override: true },
        ): TaskFluentBuilder<TInput, TOutput, TDeps, TMeta, TNewTags, TMiddleware>;
        throws(
            list: ThrowsList,
        ): TaskFluentBuilder<TInput, TOutput, TDeps, TMeta, TTags, TMiddleware>;
    }

    Type Parameters

    Index

    Properties

    id: string

    Methods