UNPKG

rx-debugger

Version:
34 lines 1.13 kB
import { COMPLETE_OPERATOR, ERROR_OPERATOR, START_OPERATOR } from './logger'; import { tap } from 'rxjs/operators'; /** * Prints data after each pipe operator does its job, without waiting observable complete or error. * This logger is advised when debugging long observables or subjects. */ export class RealTimeLogger { constructor(serializer, channel) { this.serializer = serializer; this.channel = channel; } end() { return tap({ error: () => this.print(ERROR_OPERATOR, undefined), complete: () => this.print(COMPLETE_OPERATOR, undefined), }); } log(name) { return this.entry(name); } start() { return this.entry(START_OPERATOR); } entry(name) { return tap((value) => this.print(name, value)); } print(name, value) { this.channel.log(new Date().toISOString(), name, this.serialization(value)); } serialization(value) { return this.serializer.deserialize(this.serializer.serialize(value)); } } //# sourceMappingURL=real-time-logger.js.map