import { Renderer } from '../renderer' import { JSXAsync, JSXElementAsync } from './jsx' import { jsxAsyncToSync } from './sync' export const createAsyncRender = (renderer: Renderer) => (jsx: JSXAsync): Observable => { const jsxSync$ = jsxAsyncToSync(jsx) return new Observable(observer => ( jsxSync$.subscribe( node => observer.next(renderer.renderNode(node)), error => observer.error(error), () => observer.complete() ) )) }