xiot-core-message-ts
Version:
32 lines (31 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const EventOccurred_1 = require("../../typedef/iq/basic/EventOccurred");
const xiot_core_spec_ts_1 = require("xiot-core-spec-ts");
class EventOccurredCodec {
encodeQueryContent(query) {
if (query instanceof EventOccurred_1.QueryEventOccurred) {
return xiot_core_spec_ts_1.EventOperationCodec.encodeOneQuery(query.operation);
}
return null;
}
encodeResultContent(result) {
if (result instanceof EventOccurred_1.ResultEventOccurred) {
return {
eid: result.eid ? result.eid.toString() : '',
};
}
return null;
}
decodeQuery(id, content) {
return new EventOccurred_1.QueryEventOccurred(id, xiot_core_spec_ts_1.EventOperationCodec.decodeOneQuery(content));
}
decodeResult(id, content) {
let eid = 'a.0.0';
if (content) {
eid = content.eid || 'a.0.0';
}
return new EventOccurred_1.ResultEventOccurred(id, xiot_core_spec_ts_1.EID.parseString(eid));
}
}
exports.EventOccurredCodec = EventOccurredCodec;