UNPKG

xiot-core-message-ts

Version:
32 lines (31 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const InvokeAction_1 = require("../../typedef/iq/basic/InvokeAction"); const xiot_core_spec_ts_1 = require("xiot-core-spec-ts"); const ArgumentOperationCodec_1 = require("xiot-core-spec-ts/dist/xiot/core/spec/codec/operation/ArgumentOperationCodec"); class InvokeActionCodec { encodeQueryContent(query) { if (query instanceof InvokeAction_1.QueryInvokeAction) { return xiot_core_spec_ts_1.ActionOperationCodec.encodeOneQuery(query.operation); } return null; } encodeResultContent(result) { if (result instanceof InvokeAction_1.ResultInvokeAction) { return { aid: result.aid ? result.aid.toString() : '', out: ArgumentOperationCodec_1.ArgumentOperationCodec.encodeArray(result.out) }; } return null; } decodeQuery(id, content) { return new InvokeAction_1.QueryInvokeAction(id, xiot_core_spec_ts_1.ActionOperationCodec.decodeOneQuery(content)); } decodeResult(id, content) { const aid = content.aid; const out = ArgumentOperationCodec_1.ArgumentOperationCodec.decodeArray(content.out); return new InvokeAction_1.ResultInvokeAction(id, aid, out); } } exports.InvokeActionCodec = InvokeActionCodec;