defineJobTypes
defineJobTypes<
TJobTypeDefinitions,TExternalJobTypeDefinitions>():JobTypes<TJobTypeDefinitions,TExternalJobTypeDefinitions>
Defined in: packages/core/src/entities/define-job-types.ts:29
Define job types with compile-time type checking only (no runtime validation). Returns a JobTypes that passes all values through without validation.
Type Parameters
Section titled “Type Parameters”TJobTypeDefinitions
Section titled “TJobTypeDefinitions”TJobTypeDefinitions extends BaseJobTypeDefinitions & { [K in string | number | symbol]: IsPlainValidJobType<TJobTypeDefinitions[K], keyof TJobTypeDefinitions & string> extends true ? TJobTypeDefinitions[K] : ValidateJobType<TJobTypeDefinitions[K], TJobTypeDefinitions, TJobTypeDefinitions | TExternalJobTypeDefinitions> } | `Error: local and external definitions share overlapping keys: ${string}`
TExternalJobTypeDefinitions
Section titled “TExternalJobTypeDefinitions”TExternalJobTypeDefinitions extends BaseJobTypeDefinitions = Record<never, never>
Returns
Section titled “Returns”JobTypes<TJobTypeDefinitions, TExternalJobTypeDefinitions>
Example
Section titled “Example”// Inline definitionconst jobTypes = defineJobTypes<{ 'fetch': { entry: true; input: { url: string }; output: { data: unknown }; }; 'process': { entry: true; input: { id: string }; continueWith: { typeName: 'finalize' }; blockers: [{ typeName: 'fetch' }]; }; 'finalize': { input: { result: string }; output: { done: boolean }; };}>();