UNPKG

react-native-serialport-bluetooth

Version:
36 lines (35 loc) 1.12 kB
import { Buffer } from 'buffer'; import SerialportBluetooth from './native_module'; const DataReceivedEvent = 'serialportDataReceived'; export default class Connect { // buffer = ''; constructor(deviceId, eventEmitter) { this.deviceId = deviceId; this.eventEmitter = eventEmitter; this.listeners = []; } send(hexStr) { return SerialportBluetooth.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.from(buffer, 'hex').toString('utf-8') }); buffer = ''; } }; this.listeners.push(listenerProxy); return this.eventEmitter.addListener(DataReceivedEvent, listenerProxy); } close() { this.eventEmitter.removeAllListeners(DataReceivedEvent); return SerialportBluetooth.close(this.deviceId); } } //# sourceMappingURL=connect.js.map