json-processing
Version:
JSON Processing Tool
40 lines (39 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const operators_2 = require("rxjs/operators");
const rxjs_2 = require("rxjs");
exports.default = () => {
return source => new rxjs_1.Observable(subscriber => {
source.subscribe({
next(value) {
try {
if (value instanceof rxjs_2.GroupedObservable) {
const key = value.key;
value = value.pipe(operators_1.toArray(), operators_2.map(array => ({ key: key, values: array })));
}
if (value instanceof rxjs_1.Observable) {
value.pipe(operators_2.map(o => o))
.subscribe({
next: o => subscriber.next(o),
error: err => subscriber.error(err)
});
}
else {
subscriber.next(value);
}
}
catch (e) {
subscriber.error(e);
}
},
error(error) {
subscriber.error(error);
},
complete() {
subscriber.complete();
}
});
});
};