const Rx = await import('https://unpkg.com/rxjs/_esm2015/index.js')
function subscribeToObservable(observable) {
const next = createEvent()
const error = createEvent()
const complete = createEvent()
let subscription = null;
function unsubscribe() {
subscription?.unsubscribe()
subscription = null
}
function subscribe() {
unsubscribe()
subscription = observable.subscribe({
next,
error,
complete
})
}
complete.watch(unsubscribe)
subscribe()
return {
next,
error,
complete,
subscribe,
}
}
const sub = subscribeToObservable(Rx.interval(1000))
sub.next.watch(x => console.log('x', x))