UNPKG

rxpoweredup

Version:

A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.

19 lines (18 loc) 686 B
import { formatMessageForDump } from '../helpers'; export class MessageLoggingMiddleware { logger; logMessageTypes; logMessageTypesSet; constructor(logger, logMessageTypes) { this.logger = logger; this.logMessageTypes = logMessageTypes; this.logMessageTypesSet = new Set(logMessageTypes === 'all' ? [] : logMessageTypes); } handle(originalMessage) { if (this.logMessageTypes === 'all' || this.logMessageTypesSet.has(originalMessage.header.messageType)) { const formattedMessage = formatMessageForDump(originalMessage); this.logger.debug(formattedMessage); } return originalMessage; } }