[6a3a178] | 1 | import { SubscriptionLike, TeardownLogic } from './types';
|
---|
| 2 | /**
|
---|
| 3 | * Represents a disposable resource, such as the execution of an Observable. A
|
---|
| 4 | * Subscription has one important method, `unsubscribe`, that takes no argument
|
---|
| 5 | * and just disposes the resource held by the subscription.
|
---|
| 6 | *
|
---|
| 7 | * Additionally, subscriptions may be grouped together through the `add()`
|
---|
| 8 | * method, which will attach a child Subscription to the current Subscription.
|
---|
| 9 | * When a Subscription is unsubscribed, all its children (and its grandchildren)
|
---|
| 10 | * will be unsubscribed as well.
|
---|
| 11 | *
|
---|
| 12 | * @class Subscription
|
---|
| 13 | */
|
---|
| 14 | export declare class Subscription implements SubscriptionLike {
|
---|
| 15 | /** @nocollapse */
|
---|
| 16 | static EMPTY: Subscription;
|
---|
| 17 | /**
|
---|
| 18 | * A flag to indicate whether this Subscription has already been unsubscribed.
|
---|
| 19 | * @type {boolean}
|
---|
| 20 | */
|
---|
| 21 | closed: boolean;
|
---|
| 22 | /** @internal */
|
---|
| 23 | protected _parentOrParents: Subscription | Subscription[];
|
---|
| 24 | /** @internal */
|
---|
| 25 | private _subscriptions;
|
---|
| 26 | /**
|
---|
| 27 | * @param {function(): void} [unsubscribe] A function describing how to
|
---|
| 28 | * perform the disposal of resources when the `unsubscribe` method is called.
|
---|
| 29 | */
|
---|
| 30 | constructor(unsubscribe?: () => void);
|
---|
| 31 | /**
|
---|
| 32 | * Disposes the resources held by the subscription. May, for instance, cancel
|
---|
| 33 | * an ongoing Observable execution or cancel any other type of work that
|
---|
| 34 | * started when the Subscription was created.
|
---|
| 35 | * @return {void}
|
---|
| 36 | */
|
---|
| 37 | unsubscribe(): void;
|
---|
| 38 | /**
|
---|
| 39 | * Adds a tear down to be called during the unsubscribe() of this
|
---|
| 40 | * Subscription. Can also be used to add a child subscription.
|
---|
| 41 | *
|
---|
| 42 | * If the tear down being added is a subscription that is already
|
---|
| 43 | * unsubscribed, is the same reference `add` is being called on, or is
|
---|
| 44 | * `Subscription.EMPTY`, it will not be added.
|
---|
| 45 | *
|
---|
| 46 | * If this subscription is already in an `closed` state, the passed
|
---|
| 47 | * tear down logic will be executed immediately.
|
---|
| 48 | *
|
---|
| 49 | * When a parent subscription is unsubscribed, any child subscriptions that were added to it are also unsubscribed.
|
---|
| 50 | *
|
---|
| 51 | * @param {TeardownLogic} teardown The additional logic to execute on
|
---|
| 52 | * teardown.
|
---|
| 53 | * @return {Subscription} Returns the Subscription used or created to be
|
---|
| 54 | * added to the inner subscriptions list. This Subscription can be used with
|
---|
| 55 | * `remove()` to remove the passed teardown logic from the inner subscriptions
|
---|
| 56 | * list.
|
---|
| 57 | */
|
---|
| 58 | add(teardown: TeardownLogic): Subscription;
|
---|
| 59 | /**
|
---|
| 60 | * Removes a Subscription from the internal list of subscriptions that will
|
---|
| 61 | * unsubscribe during the unsubscribe process of this Subscription.
|
---|
| 62 | * @param {Subscription} subscription The subscription to remove.
|
---|
| 63 | * @return {void}
|
---|
| 64 | */
|
---|
| 65 | remove(subscription: Subscription): void;
|
---|
| 66 | }
|
---|