Skip to main content

Type Alias: Task<T>

Task<T> = object

Type-safe Task with discriminated union based on taskType. The payload type is automatically inferred based on the taskType.

Example

const task: Task = {
taskId: '123',
taskType: WebglTasks.APPLY_CAMERA_ZOOM_ALL,
payload: { useAnimation: true, animationTime: 1000 } // ✅ Type-safe!
};

const invalidTask: Task = {
taskId: '123',
taskType: WebglTasks.APPLY_CAMERA_ZOOM_ALL,
payload: { wrongProp: true } // ❌ TypeScript error!
};

Type Parameters

T

T extends keyof TaskPayloadMap = keyof TaskPayloadMap

Properties

isProcessing?

optional isProcessing: boolean


payload

payload: TaskPayloadMap[T]


taskId

taskId: string


taskType

taskType: T