UNPKG

@jsonjoy.com/reactive-rpc

Version:

Reactive-RPC is a library for building reactive APIs over WebSocket, HTTP, and other RPCs.

31 lines 888 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.subscribeSyncObserver = subscribeSyncObserver; const microtask_1 = require("./microtask"); function subscribeSyncObserver(observable, observer) { let completed = false; let buffer = []; const flush = () => { if (!buffer.length) return; observer.next(buffer, completed); buffer = []; }; return observable.subscribe({ next: (data) => { buffer.push(data); if (buffer.length === 1) (0, microtask_1.microtask)(flush); }, error: (error) => { flush(); observer.error(error); }, complete: () => { completed = true; flush(); observer.complete(); }, }); } //# sourceMappingURL=subscribeSyncObserver.js.map