observable.tentative.idl (820B)
1 [Exposed=*] 2 interface Subscriber { 3 undefined next(any value); 4 undefined error(any error); 5 undefined complete(); 6 undefined addTeardown(VoidFunction teardown); 7 readonly attribute boolean active; 8 readonly attribute AbortSignal signal; 9 }; 10 11 12 callback SubscribeCallback = undefined (Subscriber subscriber); 13 callback SubscriptionObserverCallback = undefined (any value); 14 15 dictionary SubscriptionObserver { 16 SubscriptionObserverCallback next; 17 SubscriptionObserverCallback error; 18 VoidFunction complete; 19 }; 20 21 typedef (SubscriptionObserverCallback or Observer) ObserverUnion; 22 23 dictionary SubscribeOptions { 24 AbortSignal signal; 25 }; 26 27 [Exposed=*] 28 interface Observable { 29 constructor(SubscribeCallback callback); 30 undefined subscribe(optional ObserverUnion observer = {}, optional SubscribeOptions options = {}); 31 };