This is a sample RxJs operator, as seen on the course RxJs in Practice.
A Pen by Rodrigo Lira on CodePen.
This is a sample RxJs operator, as seen on the course RxJs in Practice.
A Pen by Rodrigo Lira on CodePen.
import { Observable } from 'rxjs'; | |
import { tap } from 'rxjs/operators'; | |
export enum RxJsLoggingLevel { | |
TRACE, | |
DEBUG, | |
INFO, | |
ERROR | |
} | |
let rxjsLoggingLevel = RxJsLoggingLevel.INFO; | |
export function setRxJsLoggingLevel(level: RxJsLoggingLevel) { | |
rxjsLoggingLevel = level; | |
} | |
export const debug = (level: RxJsLoggingLevel, message: string) => (source: Observable<any>) => source | |
.pipe( | |
tap(val => { | |
if (level >= rxjsLoggingLevel) { | |
console.log(message + ": ", val) | |
} | |
}) | |
); |