@freemework/common
Version:
Common library of the Freemework Project.
19 lines (14 loc) • 818 B
text/typescript
import { FCancellationException } from "./f_cancellation_exception.js";
export type FCancellationTokenCallback = (cancellationException: FCancellationException) => void;
export abstract class FCancellationToken {
public abstract get isCancellationRequested(): boolean;
public abstract addCancelListener(cb: FCancellationTokenCallback): void;
public abstract removeCancelListener(cb: FCancellationTokenCallback): void;
public abstract throwIfCancellationRequested(): void;
public static readonly Dummy: FCancellationToken = Object.freeze({
get isCancellationRequested(): boolean { return false; },
addCancelListener(_: FCancellationTokenCallback): void {/* Dummy */ },
removeCancelListener(_: FCancellationTokenCallback): void {/* Dummy */ },
throwIfCancellationRequested(): void {/* Dummy */ }
});
}