UNPKG

xiot-core-spec-ts

Version:
221 lines (220 loc) 12.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OwnerNoticeCodec = void 0; const NoticeCodec_1 = require("../../typedef/notice/NoticeCodec"); const OwnerNoticeType_1 = require("../../typedef/notice/owner/OwnerNoticeType"); const OwnerDeviceAdded_1 = require("../../typedef/notice/owner/impl/OwnerDeviceAdded"); const OwnerDeviceAddedCodec_1 = require("./owner/OwnerDeviceAddedCodec"); const OwnerDeviceRemoved_1 = require("../../typedef/notice/owner/impl/OwnerDeviceRemoved"); const OwnerDeviceRemovedCodec_1 = require("./owner/OwnerDeviceRemovedCodec"); const OwnerDeviceSummaryChanged_1 = require("../../typedef/notice/owner/impl/OwnerDeviceSummaryChanged"); const OwnerDeviceSummaryChangedCodec_1 = require("./owner/OwnerDeviceSummaryChangedCodec"); const OwnerPropertiesChanged_1 = require("../../typedef/notice/owner/impl/OwnerPropertiesChanged"); const OwnerPropertiesChangedCodec_1 = require("./owner/OwnerPropertiesChangedCodec"); const OwnerEventOccurred_1 = require("../../typedef/notice/owner/impl/OwnerEventOccurred"); const OwnerEventOccurredCodec_1 = require("./owner/OwnerEventOccurredCodec"); const OwnershipDisclaimed_1 = require("../../typedef/notice/owner/impl/OwnershipDisclaimed"); const OwnershipDisclaimedCodec_1 = require("./owner/OwnershipDisclaimedCodec"); const OwnershipTaken_1 = require("../../typedef/notice/owner/impl/OwnershipTaken"); const OwnershipTakenCodec_1 = require("./owner/OwnershipTakenCodec"); const OwnerRuleAdded_1 = require("../../typedef/notice/owner/impl/OwnerRuleAdded"); const OwnerRuleAddedCodec_1 = require("./owner/OwnerRuleAddedCodec"); const OwnerRuleRemoved_1 = require("../../typedef/notice/owner/impl/OwnerRuleRemoved"); const OwnerRuleRemovedCodec_1 = require("./owner/OwnerRuleRemovedCodec"); const OwnerRuleChanged_1 = require("../../typedef/notice/owner/impl/OwnerRuleChanged"); const OwnerRuleChangedCodec_1 = require("./owner/OwnerRuleChangedCodec"); const OwnerRuleTriggered_1 = require("../../typedef/notice/owner/impl/OwnerRuleTriggered"); const OwnerRuleTriggeredCodec_1 = require("./owner/OwnerRuleTriggeredCodec"); const OwnerRuleExecuted_1 = require("../../typedef/notice/owner/impl/OwnerRuleExecuted"); const OwnerRuleExecutedCodec_1 = require("./owner/OwnerRuleExecutedCodec"); const OwnerSpaceAdded_1 = require("../../typedef/notice/owner/impl/space/OwnerSpaceAdded"); const OwnerSpaceAddedCodec_1 = require("./owner/space/OwnerSpaceAddedCodec"); const OwnerSpaceChangedCodec_1 = require("./owner/space/OwnerSpaceChangedCodec"); const OwnerSpaceChanged_1 = require("../../typedef/notice/owner/impl/space/OwnerSpaceChanged"); const OwnerSpaceRemoved_1 = require("../../typedef/notice/owner/impl/space/OwnerSpaceRemoved"); const OwnerSpaceRemovedCodec_1 = require("./owner/space/OwnerSpaceRemovedCodec"); const OwnerDeviceSomewhereChanged_1 = require("../../typedef/notice/owner/impl/OwnerDeviceSomewhereChanged"); const OwnerDeviceSomewhereChangedCodec_1 = require("./owner/OwnerDeviceSomewhereChangedCodec"); const OwnerHomeAdded_1 = require("../../typedef/notice/owner/impl/home/OwnerHomeAdded"); const OwnerHomeAddedCodec_1 = require("./owner/home/OwnerHomeAddedCodec"); const OwnerHomeChangedCodec_1 = require("./owner/home/OwnerHomeChangedCodec"); const OwnerHomeChanged_1 = require("../../typedef/notice/owner/impl/home/OwnerHomeChanged"); const OwnerHomeRemoved_1 = require("../../typedef/notice/owner/impl/home/OwnerHomeRemoved"); const OwnerHomeRemovedCodec_1 = require("./owner/home/OwnerHomeRemovedCodec"); class OwnerNoticeCodec extends NoticeCodec_1.NoticeCodec { mainType() { return 'owner'; } encode(x) { let o = {}; switch ((0, OwnerNoticeType_1.OwnerNoticeTypeFromString)(x.subType())) { case OwnerNoticeType_1.OwnerNoticeType.DEVICE_ADDED: if (x instanceof OwnerDeviceAdded_1.OwnerDeviceAdded) { o = OwnerDeviceAddedCodec_1.OwnerDeviceAddedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_REMOVED: if (x instanceof OwnerDeviceRemoved_1.OwnerDeviceRemoved) { o = OwnerDeviceRemovedCodec_1.OwnerDeviceRemovedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_SUMMARY_CHANGED: if (x instanceof OwnerDeviceSummaryChanged_1.OwnerDeviceSummaryChanged) { o = OwnerDeviceSummaryChangedCodec_1.OwnerDeviceSummaryChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_SOMEWHERE_CHANGED: if (x instanceof OwnerDeviceSomewhereChanged_1.OwnerDeviceSomewhereChanged) { o = OwnerDeviceSomewhereChangedCodec_1.OwnerDeviceSomewhereChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_PROPERTIES_CHANGED: if (x instanceof OwnerPropertiesChanged_1.OwnerPropertiesChanged) { o = OwnerPropertiesChangedCodec_1.OwnerPropertiesChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_EVENT_OCCURRED: if (x instanceof OwnerEventOccurred_1.OwnerEventOccurred) { o = OwnerEventOccurredCodec_1.OwnerEventOccurredCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.OWNERSHIP_DISCLAIMED: if (x instanceof OwnershipDisclaimed_1.OwnershipDisclaimed) { o = OwnershipDisclaimedCodec_1.OwnershipDisclaimedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.OWNERSHIP_TAKEN: if (x instanceof OwnershipTaken_1.OwnershipTaken) { o = OwnershipTakenCodec_1.OwnershipTakenCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.RULE_ADDED: if (x instanceof OwnerRuleAdded_1.OwnerRuleAdded) { o = OwnerRuleAddedCodec_1.OwnerRuleAddedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.RULE_REMOVED: if (x instanceof OwnerRuleRemoved_1.OwnerRuleRemoved) { o = OwnerRuleRemovedCodec_1.OwnerRuleRemovedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.RULE_CHANGED: if (x instanceof OwnerRuleChanged_1.OwnerRuleChanged) { o = OwnerRuleChangedCodec_1.OwnerRuleChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.RULE_TRIGGERED: if (x instanceof OwnerRuleTriggered_1.OwnerRuleTriggered) { o = OwnerRuleTriggeredCodec_1.OwnerRuleTriggeredCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.RULE_EXECUTED: if (x instanceof OwnerRuleExecuted_1.OwnerRuleExecuted) { o = OwnerRuleExecutedCodec_1.OwnerRuleExecutedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.HOME_ADDED: if (x instanceof OwnerHomeAdded_1.OwnerHomeAdded) { o = OwnerHomeAddedCodec_1.OwnerHomeAddedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.HOME_CHANGED: if (x instanceof OwnerHomeChanged_1.OwnerHomeChanged) { o = OwnerHomeChangedCodec_1.OwnerHomeChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.HOME_REMOVED: if (x instanceof OwnerHomeRemoved_1.OwnerHomeRemoved) { o = OwnerHomeRemovedCodec_1.OwnerHomeRemovedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_ADDED: if (x instanceof OwnerSpaceAdded_1.OwnerSpaceAdded) { o = OwnerSpaceAddedCodec_1.OwnerSpaceAddedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_CHANGED: if (x instanceof OwnerSpaceChanged_1.OwnerSpaceChanged) { o = OwnerSpaceChangedCodec_1.OwnerSpaceChangedCodec.encode(x); } break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_REMOVED: if (x instanceof OwnerSpaceRemoved_1.OwnerSpaceRemoved) { o = OwnerSpaceRemovedCodec_1.OwnerSpaceRemovedCodec.encode(x); } break; default: break; } return o; } decode(subType, o) { let notice; switch (subType) { case OwnerNoticeType_1.OwnerNoticeType.DEVICE_ADDED: notice = OwnerDeviceAddedCodec_1.OwnerDeviceAddedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_REMOVED: notice = OwnerDeviceRemovedCodec_1.OwnerDeviceRemovedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_SUMMARY_CHANGED: notice = OwnerDeviceSummaryChangedCodec_1.OwnerDeviceSummaryChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_SOMEWHERE_CHANGED: notice = OwnerDeviceSomewhereChangedCodec_1.OwnerDeviceSomewhereChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_PROPERTIES_CHANGED: notice = OwnerPropertiesChangedCodec_1.OwnerPropertiesChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.DEVICE_EVENT_OCCURRED: notice = OwnerEventOccurredCodec_1.OwnerEventOccurredCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.OWNERSHIP_DISCLAIMED: notice = OwnershipDisclaimedCodec_1.OwnershipDisclaimedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.OWNERSHIP_TAKEN: notice = OwnershipTakenCodec_1.OwnershipTakenCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.RULE_ADDED: notice = OwnerRuleAddedCodec_1.OwnerRuleAddedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.RULE_REMOVED: notice = OwnerRuleRemovedCodec_1.OwnerRuleRemovedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.RULE_CHANGED: notice = OwnerRuleChangedCodec_1.OwnerRuleChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.RULE_TRIGGERED: notice = OwnerRuleTriggeredCodec_1.OwnerRuleTriggeredCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.RULE_EXECUTED: notice = OwnerRuleExecutedCodec_1.OwnerRuleExecutedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.HOME_ADDED: notice = OwnerHomeAddedCodec_1.OwnerHomeAddedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.HOME_CHANGED: notice = OwnerHomeChangedCodec_1.OwnerHomeChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.HOME_REMOVED: notice = OwnerHomeRemovedCodec_1.OwnerHomeRemovedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_ADDED: notice = OwnerSpaceAddedCodec_1.OwnerSpaceAddedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_CHANGED: notice = OwnerSpaceChangedCodec_1.OwnerSpaceChangedCodec.decode(o); break; case OwnerNoticeType_1.OwnerNoticeType.SPACE_REMOVED: notice = OwnerSpaceRemovedCodec_1.OwnerSpaceRemovedCodec.decode(o); break; default: throw new Error(`invalid subType: ${subType}`); } return notice; } decodeObject(o) { return this.decode(o.type, o.payload); } } exports.OwnerNoticeCodec = OwnerNoticeCodec;