UNPKG

messageport-observable

Version:

This provides some magic wrappers for [MessagePort][1] objects and things that resemble them (windows/iframes, workers, etc.). The wrapped objects still have the same API as MessagePorts, but also have some additional features.

23 lines (17 loc) 482 B
importScripts('messageport-observable.js'); let x = 1; let wrapPort = MessagePortObservable.wrapPort; self.onconnect = function(connectEvent) { let port = wrapPort(connectEvent.ports[0]); port.filter(event => event.data === 'inc') .subscribeAndPostReplies(event => { x += 1; return [`inc ${x}`]; }); port.filter(event => event.data === 'dec') .subscribeAndPostReplies(event => { x -= 1; return [`dec ${x}`]; }); port.start(); };