UNPKG

react-native-serialport-bluetooth

Version:
44 lines (42 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _buffer = require("buffer"); var _native_module = _interopRequireDefault(require("./native_module")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const DataReceivedEvent = 'serialportDataReceived'; class Connect { // buffer = ''; constructor(deviceId, eventEmitter) { this.deviceId = deviceId; this.eventEmitter = eventEmitter; this.listeners = []; } send(hexStr) { return _native_module.default.send(this.deviceId, hexStr); } onReceived(listener) { let buffer = ''; const listenerProxy = event => { buffer += event.data.toUpperCase(); const pairs = event.data.toUpperCase().match(/.{1,2}/g); if (pairs !== null && pairs !== void 0 && pairs.some(i => i === '0D')) { listener({ deviceId: event.deviceId, data: _buffer.Buffer.from(buffer, 'hex').toString('utf-8') }); buffer = ''; } }; this.listeners.push(listenerProxy); return this.eventEmitter.addListener(DataReceivedEvent, listenerProxy); } close() { this.eventEmitter.removeAllListeners(DataReceivedEvent); return _native_module.default.close(this.deviceId); } } exports.default = Connect; //# sourceMappingURL=connect.js.map