UNPKG

xiot-core-spec-ts

Version:
64 lines (63 loc) 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventOperationCodec = exports.EventOperationCodecResult = exports.EventOperationCodecQuery = void 0; const Spec_1 = require("../../typedef/constant/Spec"); const AbstractOperationCodec_1 = require("./AbstractOperationCodec"); const EventOperation_1 = require("../../typedef/operation/EventOperation"); const EventID_1 = require("../../typedef/xid/EventID"); const ArgumentOperationCodec_1 = require("./ArgumentOperationCodec"); class EventOperationCodecQuery extends AbstractOperationCodec_1.AbstractOperationCodec { decodeObject(o) { const event = new EventOperation_1.EventOperation(); event.eid = EventID_1.EventID.parse(o[Spec_1.Spec.EID]); event.oid = o[Spec_1.Spec.OID] || ''; if (o[Spec_1.Spec.ARGUMENTS] != null) { if (o[Spec_1.Spec.ARGUMENTS] instanceof Array) { event.setArguments(ArgumentOperationCodec_1.ArgumentOperationCodec.decodeArray(o[Spec_1.Spec.ARGUMENTS])); } else { event.argumentsCompact = true; event.setArguments(ArgumentOperationCodec_1.ArgumentOperationCodec.decodeObjet(o[Spec_1.Spec.ARGUMENTS])); } } return event; } encodeObject(event) { const object = { eid: event.eid.toString(), oid: event.oid }; if (event.getArguments().length > 0) { object[Spec_1.Spec.ARGUMENTS] = ArgumentOperationCodec_1.ArgumentOperationCodec.encodeArray(event.argumentsCompact, event.getArguments()); } return object; } } exports.EventOperationCodecQuery = EventOperationCodecQuery; class EventOperationCodecResult extends AbstractOperationCodec_1.AbstractOperationCodec { decodeObject(o) { const event = new EventOperation_1.EventOperation(); event.eid = EventID_1.EventID.parse(o[Spec_1.Spec.EID]); event.status = o[Spec_1.Spec.STATUS]; if (event.status !== 0) { event.description = o[Spec_1.Spec.DESCRIPTION]; } return event; } encodeObject(event) { const object = { eid: event.eid.toString(), status: event.status }; if (event.status !== 0) { object.description = event.description; } return object; } } exports.EventOperationCodecResult = EventOperationCodecResult; class EventOperationCodec { } exports.EventOperationCodec = EventOperationCodec; EventOperationCodec.Query = new EventOperationCodecQuery(); EventOperationCodec.Result = new EventOperationCodecResult();