UNPKG

@freemework/common

Version:

Common library of the Freemework Project.

31 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FCancellationExecutionElement = exports.FCancellationExecutionContext = void 0; const f_cancellation_token_aggregated_js_1 = require("../cancellation/f_cancellation_token_aggregated.js"); const f_execution_context_js_1 = require("../execution_context/f_execution_context.js"); class FCancellationExecutionContext extends f_execution_context_js_1.FExecutionContextBase { _cancellationToken; get cancellationToken() { return this._cancellationToken; } static of(context) { const cancellationExecutionContext = f_execution_context_js_1.FExecutionContext.getExecutionContext(context, FCancellationExecutionContext); return new FCancellationExecutionElement(cancellationExecutionContext); } constructor(prevContext, cancellationToken, isAggregateWithPrev = false) { super(prevContext); if (isAggregateWithPrev) { const prev = f_execution_context_js_1.FExecutionContext .findExecutionContext(prevContext, FCancellationExecutionContext); if (prev !== null) { this._cancellationToken = new f_cancellation_token_aggregated_js_1.FCancellationTokenAggregated(cancellationToken, prev.cancellationToken); return; } } this._cancellationToken = cancellationToken; } } exports.FCancellationExecutionContext = FCancellationExecutionContext; class FCancellationExecutionElement extends f_execution_context_js_1.FExecutionElement { get cancellationToken() { return this.owner.cancellationToken; } } exports.FCancellationExecutionElement = FCancellationExecutionElement; //# sourceMappingURL=f_cancellation_execution_context.js.map