diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/observable.tentative.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/observable.tentative.idl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/observable.tentative.idl b/testing/web-platform/tests/interfaces/observable.tentative.idl new file mode 100644 index 0000000000..3ccd486a20 --- /dev/null +++ b/testing/web-platform/tests/interfaces/observable.tentative.idl @@ -0,0 +1,31 @@ +[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 = {}); +}; |