UNPKG

@freemework/common

Version:

Common library of the Freemework Project.

26 lines 1.35 kB
import { FCancellationTokenAggregated } from "../cancellation/f_cancellation_token_aggregated.js"; import { FExecutionContext, FExecutionElement, FExecutionContextBase } from "../execution_context/f_execution_context.js"; export class FCancellationExecutionContext extends FExecutionContextBase { _cancellationToken; get cancellationToken() { return this._cancellationToken; } static of(context) { const cancellationExecutionContext = FExecutionContext.getExecutionContext(context, FCancellationExecutionContext); return new FCancellationExecutionElement(cancellationExecutionContext); } constructor(prevContext, cancellationToken, isAggregateWithPrev = false) { super(prevContext); if (isAggregateWithPrev) { const prev = FExecutionContext .findExecutionContext(prevContext, FCancellationExecutionContext); if (prev !== null) { this._cancellationToken = new FCancellationTokenAggregated(cancellationToken, prev.cancellationToken); return; } } this._cancellationToken = cancellationToken; } } export class FCancellationExecutionElement extends FExecutionElement { get cancellationToken() { return this.owner.cancellationToken; } } //# sourceMappingURL=f_cancellation_execution_context.js.map