Interface ITaskDefinition<TInput, TOutput, TDependencies, TEventDefinitionInput>

interface ITaskDefinition<TInput, TOutput, TDependencies, TEventDefinitionInput> {
    dependencies?: TDependencies | (() => TDependencies);
    id: string;
    meta?: ITaskMeta;
    middleware?: IMiddlewareDefinition<any>[];
    on?: IEventDefinition<TEventDefinitionInput>;
    run: ((input: TEventDefinitionInput extends null
        ? TInput
        : TEventDefinitionInput, dependencies: DependencyValuesType<TDependencies>) => TOutput);
}

Type Parameters

  • TInput = any
  • TOutput extends Promise<any> = any
  • TDependencies extends DependencyMapType = {}
  • TEventDefinitionInput = null

Hierarchy (view full)

Properties

dependencies?: TDependencies | (() => TDependencies)
id: string
meta?: ITaskMeta
middleware?: IMiddlewareDefinition<any>[]
run: ((input: TEventDefinitionInput extends null
    ? TInput
    : TEventDefinitionInput, dependencies: DependencyValuesType<TDependencies>) => TOutput)