UNPKG

xiot-core-spec-ts

Version:
44 lines (43 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RuleOperationCodec = exports.RuleOperationCodecResult = exports.RuleOperationCodecQuery = void 0; const Spec_1 = require("../../typedef/constant/Spec"); const AbstractOperationCodec_1 = require("./AbstractOperationCodec"); const RuleOperation_1 = require("../../typedef/operation/RuleOperation"); class RuleOperationCodecQuery extends AbstractOperationCodec_1.AbstractOperationCodec { decodeObject(o) { return new RuleOperation_1.RuleOperation(o); } encodeObject(o) { if (o.status < 0) { return null; } return o.ruleId; } } exports.RuleOperationCodecQuery = RuleOperationCodecQuery; class RuleOperationCodecResult extends AbstractOperationCodec_1.AbstractOperationCodec { decodeObject(o) { const operation = new RuleOperation_1.RuleOperation(o.ruleId); if (o.status < 0) { operation.description = o[Spec_1.Spec.DESCRIPTION]; } return operation; } encodeObject(operation) { const object = { ruleId: operation.ruleId, status: operation.status }; if (operation.status < 0) { object[Spec_1.Spec.DESCRIPTION] = operation.description; } return object; } } exports.RuleOperationCodecResult = RuleOperationCodecResult; class RuleOperationCodec { } exports.RuleOperationCodec = RuleOperationCodec; RuleOperationCodec.Query = new RuleOperationCodecQuery(); RuleOperationCodec.Result = new RuleOperationCodecResult();