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