UNPKG

@dolittle/sdk.resilience

Version:

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

37 lines 2.12 kB
"use strict"; // Copyright (c) Dolittle. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.CancellationSource = void 0; const rxjs_1 = require("rxjs"); const Cancellation_1 = require("./Cancellation"); /** * Represents a source of a {@link Cancellation}. */ class CancellationSource { /** * Initializes a new instance of {@link CancellationSource}. * @param {Cancellation[]} sources - A set of {@link Cancellation} to link to this source. */ constructor(...sources) { this._subject = new rxjs_1.Subject(); for (const source of sources) { source.subscribe(this._subject); } this.cancellation = new Cancellation_1.Cancellation(this._subject); } /** * Cancel the {@link Cancellation} of the {@link CancellationSource}. */ cancel() { this._subject.complete(); } /** * Gets a value indicating wheter or not the {@link CancellationSource} is cancelled. */ get cancelled() { return this.cancellation.cancelled; } } exports.CancellationSource = CancellationSource; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuY2VsbGF0aW9uU291cmNlLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiQ2FuY2VsbGF0aW9uU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0MscUdBQXFHOzs7QUFFckcsK0JBQStCO0FBRS9CLGlEQUE4QztBQUU5Qzs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBRzNCOzs7T0FHRztJQUNILFlBQVksR0FBRyxPQUF1QjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBTyxFQUFFLENBQUM7UUFDOUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDMUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksMkJBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQU9EOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFqQ0QsZ0RBaUNDIn0=