@bluelibs/runner - v6.3.1
    Preparing search index...

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

    Fluent builder interface for constructing tasks before .run(...).

    interface TaskFluentBuilder<
        TInput = undefined,
        TOutput extends Promise<any> = Promise<any>,
        TDeps extends DependencyMapType = {},
        TMeta extends ITaskMeta = ITaskMeta,
        TTags extends TaskTagType[] = TaskTagType[],
        TMiddleware extends
            TaskMiddlewareAttachmentType[] = TaskMiddlewareAttachmentType[],
    > {
        id: string;
        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 = never,
            TSchema extends
                ValidationSchemaInput<[TNewInput] extends [never] ? any : TNewInput> = ValidationSchemaInput<
                [TNewInput] extends [never] ? any : TNewInput,
            >,
        >(
            schema: TSchema,
        ): TaskFluentBuilder<
            ResolveValidationSchemaInput<TNewInput, TSchema>,
            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 = never,
            TSchema extends
                ValidationSchemaInput<[TResolved] extends [never] ? any : TResolved> = ValidationSchemaInput<
                [TResolved] extends [never] ? any : TResolved,
            >,
        >(
            schema: TSchema,
        ): TaskFluentBuilder<
            TInput,
            Promise<ResolveValidationSchemaInput<TResolved, TSchema>>,
            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?: TaskRunContext,
            ) => HasOutputContracts<[...TTags[], ...TMiddleware[]]> extends true
                ? EnsureOutputSatisfiesContracts<
                    [...TTags[], ...TMiddleware[]],
                    TNewOutput,
                >
                : TNewOutput,
        ): TaskFluentBuilderAfterRun<
            ResolveInput<TInput, TNewInput>,
            TNewOutput,
            TDeps,
            TMeta,
            TTags,
            TMiddleware,
        >;
        schema<
            TNewInput = never,
            TSchema extends
                ValidationSchemaInput<[TNewInput] extends [never] ? any : TNewInput> = ValidationSchemaInput<
                [TNewInput] extends [never] ? any : TNewInput,
            >,
        >(
            schema: TSchema,
        ): TaskFluentBuilder<
            ResolveValidationSchemaInput<TNewInput, TSchema>,
            TOutput,
            TDeps,
            TMeta,
            TTags,
            TMiddleware,
        >;
        tags<const TNewTags extends TagType[]>(
            t: EnsureTagsForTarget<"tasks", TNewTags>,
            options?: { override?: false },
        ): TaskFluentBuilder<
            TInput,
            TOutput,
            TDeps,
            TMeta,
            [...TTags[], ...TNewTags[]],
            TMiddleware,
        >;
        tags<const TNewTags extends TagType[]>(
            t: EnsureTagsForTarget<"tasks", 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