UNPKG

xiot-core-spec-ts

Version:
123 lines (122 loc) 6.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceNoticeCodec = void 0; const NoticeCodec_1 = require("../../typedef/notice/NoticeCodec"); const DeviceNoticeType_1 = require("../../typedef/notice/device/DeviceNoticeType"); const DeviceAccessKeyChangedCodec_1 = require("./device/DeviceAccessKeyChangedCodec"); const DeviceAccessKeyChanged_1 = require("../../typedef/notice/device/impl/DeviceAccessKeyChanged"); const DeviceChildrenAdded_1 = require("../../typedef/notice/device/impl/DeviceChildrenAdded"); const DeviceChildrenAddedCodec_1 = require("./device/DeviceChildrenAddedCodec"); const DeviceChildrenRemoved_1 = require("../../typedef/notice/device/impl/DeviceChildrenRemoved"); const DeviceChildrenRemovedCodec_1 = require("./device/DeviceChildrenRemovedCodec"); const DevicePropertiesChanged_1 = require("../../typedef/notice/device/impl/DevicePropertiesChanged"); const DevicePropertiesChangedCodec_1 = require("./device/DevicePropertiesChangedCodec"); const DevicePropertyChanged_1 = require("../../typedef/notice/device/impl/DevicePropertyChanged"); const DevicePropertyChangedCodec_1 = require("./device/DevicePropertyChangedCodec"); const DeviceEventOccurred_1 = require("../../typedef/notice/device/impl/DeviceEventOccurred"); const DeviceEventOccurredCodec_1 = require("./device/DeviceEventOccurredCodec"); const DeviceRootActive_1 = require("../../typedef/notice/device/impl/DeviceRootActive"); const DeviceRootActiveCodec_1 = require("./device/DeviceRootActiveCodec"); const DeviceRootInactive_1 = require("../../typedef/notice/device/impl/DeviceRootInactive"); const DeviceRootInactiveCodec_1 = require("./device/DeviceRootInactiveCodec"); const DeviceSummaryChanged_1 = require("../../typedef/notice/device/impl/DeviceSummaryChanged"); const DeviceSummaryChangedCodec_1 = require("./device/DeviceSummaryChangedCodec"); class DeviceNoticeCodec extends NoticeCodec_1.NoticeCodec { mainType() { return 'device'; } encode(x) { let o = {}; switch ((0, DeviceNoticeType_1.DeviceNoticeTypeFromString)(x.subType())) { case DeviceNoticeType_1.DeviceNoticeType.UNDEFINED: break; case DeviceNoticeType_1.DeviceNoticeType.ACCESSKEY_CHANGED: if (x instanceof DeviceAccessKeyChanged_1.DeviceAccessKeyChanged) { o = DeviceAccessKeyChangedCodec_1.DeviceAccessKeyChangedCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.CHILDREN_ADDED: if (x instanceof DeviceChildrenAdded_1.DeviceChildrenAdded) { o = DeviceChildrenAddedCodec_1.DeviceChildrenAddedCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.CHILDREN_REMOVED: if (x instanceof DeviceChildrenRemoved_1.DeviceChildrenRemoved) { o = DeviceChildrenRemovedCodec_1.DeviceChildrenRemovedCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.PROPERTIES_CHANGED: if (x instanceof DevicePropertiesChanged_1.DevicePropertiesChanged) { o = DevicePropertiesChangedCodec_1.DevicePropertiesChangedCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.PROPERTY_CHANGED: if (x instanceof DevicePropertyChanged_1.DevicePropertyChanged) { o = DevicePropertyChangedCodec_1.DevicePropertyChangedCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.EVENT_OCCURRED: if (x instanceof DeviceEventOccurred_1.DeviceEventOccurred) { o = DeviceEventOccurredCodec_1.DeviceEventOccurredCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.ROOT_ACTIVE: if (x instanceof DeviceRootActive_1.DeviceRootActive) { o = DeviceRootActiveCodec_1.DeviceRootActiveCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.ROOT_INACTIVE: if (x instanceof DeviceRootInactive_1.DeviceRootInactive) { o = DeviceRootInactiveCodec_1.DeviceRootInactiveCodec.encode(x); } break; case DeviceNoticeType_1.DeviceNoticeType.SUMMARY_CHANGED: if (x instanceof DeviceSummaryChanged_1.DeviceSummaryChanged) { o = DeviceSummaryChangedCodec_1.DeviceSummaryChangedCodec.encode(x); } break; default: break; } return o; } decode(subType, o) { let notice; switch (subType) { case DeviceNoticeType_1.DeviceNoticeType.ACCESSKEY_CHANGED: notice = DeviceAccessKeyChangedCodec_1.DeviceAccessKeyChangedCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.CHILDREN_ADDED: notice = DeviceChildrenAddedCodec_1.DeviceChildrenAddedCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.CHILDREN_REMOVED: notice = DeviceChildrenRemovedCodec_1.DeviceChildrenRemovedCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.EVENT_OCCURRED: notice = DeviceEventOccurredCodec_1.DeviceEventOccurredCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.PROPERTIES_CHANGED: notice = DevicePropertiesChangedCodec_1.DevicePropertiesChangedCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.PROPERTY_CHANGED: notice = DevicePropertyChangedCodec_1.DevicePropertyChangedCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.ROOT_ACTIVE: notice = DeviceRootActiveCodec_1.DeviceRootActiveCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.ROOT_INACTIVE: notice = DeviceRootInactiveCodec_1.DeviceRootInactiveCodec.decode(o); break; case DeviceNoticeType_1.DeviceNoticeType.SUMMARY_CHANGED: notice = DeviceSummaryChangedCodec_1.DeviceSummaryChangedCodec.decode(o); break; default: throw new Error(`invalid subType: ${subType}`); } return notice; } decodeObject(o) { return this.decode(o.type, o.payload); } } exports.DeviceNoticeCodec = DeviceNoticeCodec;