Current operation progress as a percentage (0-100) for the default future. Returns 0 when no default Future is active. Updates automatically as the Future operation progresses via WebSocket events.
Current operation status string representation for the default future. Common values: "IDLE", "IN_PROGRESS", "SUCCESS", "ERROR", "CANCELLED". Returns "IDLE" when no default Future is active.
Whether the default operation is currently actively executing. True when default Future exists and has not reached an end state. False when no Future exists or operation has completed/failed/cancelled.
Whether the current or most recent default operation was cancelled. Remains true after cancellation for status tracking until a new operation starts. False if operation completed normally or failed.
Cancels the currently running default Future operation. Sends cancellation request to the backend service managing the Future. No-op if no default Future is currently active.
Promise that resolves when cancellation is acknowledged
Error if cancellation request fails
in full mode (default). Use TypeScript interface merging to add all Future Container properties and named futures to your model class.
Add ESLint disable comment at top of file, then:
interface IceAgitatorModelImpl extends KosMultipleFutureAwareFull<"pour" | "agitate" | "gate"> {}
@kosMultipleFutureAware() // defaults to full mode
class IceAgitatorModelImpl implements IKosDataModel {
// All Future Container properties and named futures are now available automatically
// Access: this.pourFuture, this.agitateFuture, this.gateFuture
onFutureUpdate?(future: IFutureModel): void {
// Handle updates from any managed Future
}
}
Interface for models using