UNPKG

@signageos/front-applet-extension-nexmosphere

Version:
40 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const events_1 = require("events"); const ISerialPort_1 = require("@signageos/nexmosphere-sdk/es6/ISerialPort"); const SerialPortReadlineParser_1 = require("./SerialPortReadlineParser"); /** * Wrapper class that wraps serial port instance from front applet and implements ISerialPort interface that nexmosphere library requires */ class SerialPort { constructor(serialPort) { this.serialPort = serialPort; this.eventEmitter = new events_1.EventEmitter(); this.parser = new SerialPortReadlineParser_1.default(serialPort); this.bindEvents(); } on(event, listener) { this.eventEmitter.on(event, listener); } removeListener(event, listener) { this.eventEmitter.removeListener(event, listener); } removeAllListeners(event) { if (event) { this.eventEmitter.removeAllListeners(event); } else { this.eventEmitter.removeAllListeners(); } } sendMessage(message) { this.serialPort.write(message + '\r\n'); } bindEvents() { this.parser.onData((data) => { this.eventEmitter.emit(ISerialPort_1.SerialPortEvent.MESSAGE, data); }); } } exports.default = SerialPort; //# sourceMappingURL=SerialPort.js.map