xiot-core-spec-ts
Version:
XIOT Specification Codec
44 lines (43 loc) • 1.59 kB
JavaScript
;
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();