UNPKG

@n1k1t/mock-server

Version:

The ultimate toolkit to intercept, transform, and simulate HTTP/WS traffic with type-safe expectations

43 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RxConverter = void 0; class RxConverter { constructor(source) { this.source = source; } iterate() { const state = { isCompleted: false }; const errors = []; const buffer = []; this.source.subscribe({ complete: () => state.isCompleted = true, error: (error) => errors.push(error), next: (payload) => buffer.push(payload), }); const next = async () => { if (errors.length) { throw errors.shift(); } if (buffer.length) { return { value: buffer.shift(), done: false }; } if (state.isCompleted) { return { value: null, done: true }; } await new Promise((resolve, reject) => this.source.subscribe({ complete: () => resolve(), error: (error) => reject(error), next: () => resolve(), })); return next(); }; return { [Symbol.asyncIterator]: () => ({ next }) }; } static build(source) { return new RxConverter(source); } } exports.RxConverter = RxConverter; //# sourceMappingURL=rx.js.map