UNPKG

xiot-core-spec-ts

Version:
27 lines (26 loc) 965 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var set = Reflect.set; const XepMessage_1 = require("../../typedef/xep/impl/XepMessage"); const XepRecordCodec_1 = require("./XepRecordCodec"); const XepMessageType_1 = require("../../typedef/xep/XepMessageType"); class XepMessageCodec { static encodeObject(message) { const o = {}; set(o, 'type', message.type.toString()); if (message.record) { set(o, 'content', XepRecordCodec_1.XepRecordCodec.encodeObject(message.record)); } return o; } static decodeObject(o) { const type = XepMessageType_1.XepMessageTypeFromString(o.type); const record = o.content; let xepRecord = null; if (record) { xepRecord = XepRecordCodec_1.XepRecordCodec.decodeObject(record); } return new XepMessage_1.XepMessage(type, xepRecord); } } exports.XepMessageCodec = XepMessageCodec;