xiot-core-xcp-ts
Version:
21 lines (20 loc) • 813 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeviceMessageCodec = void 0;
const xiot_core_spec_ts_1 = require("xiot-core-spec-ts");
const DeviceMessage_1 = require("../../../typedef/message/device/DeviceMessage");
class DeviceMessageCodec {
constructor() {
this.payloadCodec = new xiot_core_spec_ts_1.DeviceRecordCodec();
}
encode(message) {
if (message instanceof DeviceMessage_1.DeviceMessage) {
return this.payloadCodec.encode(message.payload);
}
}
decode(id, type, payload) {
const record = this.payloadCodec.decode(type, payload);
return new DeviceMessage_1.DeviceMessage(id, xiot_core_spec_ts_1.DeviceRecordTypeFromString(type), record);
}
}
exports.DeviceMessageCodec = DeviceMessageCodec;