UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

19 lines 2.39 kB
import { KaitaiStreamWriter } from '@iotize/common/byte-stream'; import { TargetSerialModbusProtocolConfigurationConverter } from '../../generated/converters'; const PROTOCOL_CONF_CTR_LENGHT = 8; const END_OF_USB_ALIASES = Uint8Array.from([0, 0, 0, 0, 0]); export class ReversedTargetSerialModbusConfigurationConverter { constructor() { this.converter = new TargetSerialModbusProtocolConfigurationConverter(); } decode(data) { return this.converter.decode(this._reorderBytes(data.slice(0, data.length - END_OF_USB_ALIASES.length))); } encode(settings) { return KaitaiStreamWriter.mergeArrays(this._reorderBytes(this.converter.encode(settings)), END_OF_USB_ALIASES); } _reorderBytes(data) { return KaitaiStreamWriter.mergeArrays(data.slice(0, PROTOCOL_CONF_CTR_LENGHT).reverse(), data.slice(PROTOCOL_CONF_CTR_LENGHT)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZWQtdGFyZ2V0LXByb3RvY29sLWNvbmZpZ3VyYXRpb24tY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pbXBsL3RhcmdldC9zcmMvbGliL2N1c3RvbS9jb252ZXJ0ZXJzL3JldmVyc2VkLXRhcmdldC1wcm90b2NvbC1jb25maWd1cmF0aW9uLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0RBQWdELEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUk5RixNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQUVuQyxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU1RCxNQUFNLE9BQU8sZ0RBQWdEO0lBQTdEO1FBR1MsY0FBUyxHQUFHLElBQUksZ0RBQWdELEVBQUUsQ0FBQztJQXVCNUUsQ0FBQztJQXJCUSxNQUFNLENBQUMsSUFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDMUIsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FDdkQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFpRDtRQUM3RCxPQUFPLGtCQUFrQixDQUFDLFdBQVcsQ0FDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNuRCxrQkFBa0IsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBZ0I7UUFDcEMsT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLENBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixDQUFDLENBQUMsT0FBTyxFQUFFLEVBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FDckMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9