@iotize/device-client.js
Version:
IoTize Device client for Javascript
41 lines (40 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tap_stream_1 = require("../frame/tap-stream");
var models_extensions_1 = require("../model/models.extensions");
var error_1 = require("../../api/converter/error");
;
/**
*
*/
var CryptedFrameConverter = /** @class */ (function () {
function CryptedFrameConverter(frameIdGenerator) {
this.frameIdGenerator = frameIdGenerator;
}
CryptedFrameConverter.prototype.encode = function (data) {
var encryptedModel = models_extensions_1.createTapEncryptedFrame(this.frameIdGenerator.next(), data
// this.paddingGenerator
);
return new tap_stream_1.TapStreamWriter().writeTapEncryptedFrame(encryptedModel).toBytes;
};
CryptedFrameConverter.prototype.decode = function (frame) {
if (!frame) {
throw error_1.ConverterError.nullBufferError("Illegal data: frame is null");
}
var encryptedFrame = tap_stream_1.TapStreamReader.fromArray(frame).readTapEncryptedFrame();
var subData = encryptedFrame.payload;
// TODO add back crc
// let crc = encryptedFrame.crc;
// let computedCrc = this._computeCRC(byteBuffer.data);
// if (crc != computedCrc){
// if (this.options.skipCRCCheck){
// }
// else{
// throw new Error(`Invalid crc read ${crc}. Should be ${computedCrc}`);
// }
// }
return subData;
};
return CryptedFrameConverter;
}());
exports.CryptedFrameConverter = CryptedFrameConverter;