| [Exposed=*] |
| interface Subscriber { |
| undefined next(any value); |
| undefined error(any error); |
| undefined complete(); |
| undefined addTeardown(VoidFunction teardown); |
| readonly attribute boolean active; |
| readonly attribute AbortSignal signal; |
| }; |
| |
| |
| callback SubscribeCallback = undefined (Subscriber subscriber); |
| callback SubscriptionObserverCallback = undefined (any value); |
| |
| dictionary SubscriptionObserver { |
| SubscriptionObserverCallback next; |
| SubscriptionObserverCallback error; |
| VoidFunction complete; |
| }; |
| |
| typedef (SubscriptionObserverCallback or Observer) ObserverUnion; |
| |
| dictionary SubscribeOptions { |
| AbortSignal signal; |
| }; |
| |
| [Exposed=*] |
| interface Observable { |
| constructor(SubscribeCallback callback); |
| undefined subscribe(optional ObserverUnion observer = {}, optional SubscribeOptions options = {}); |
| }; |