UNPKG

xiot-core-xcp-ts

Version:
21 lines (20 loc) 813 B
"use strict"; 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;