@iotize/tap
Version:
IoTize Device client for Javascript
19 lines • 2.39 kB
JavaScript
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