xiot-core-spec-ts
Version:
XIOT Specification Codec
37 lines (36 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Argument_1 = require("../../typedef/instance/Argument");
const Spec_1 = require("../../typedef/constant/Spec");
class ArgumentOperationCodec {
static decodeArray(list) {
const array = [];
if (list != null) {
list.forEach(o => {
const a = ArgumentOperationCodec.decode(o);
if (a != null) {
array.push(a);
}
});
}
return array;
}
static decode(o) {
if (typeof o === 'number') {
return new Argument_1.Argument(o);
}
const argument = new Argument_1.Argument(o[Spec_1.Spec.PIID] || 0);
argument.values = o[Spec_1.Spec.VALUES] || [];
return argument;
}
static encode(argument) {
return {
piid: argument.piid,
values: argument.values
};
}
static encodeArray(list) {
return list.map(x => ArgumentOperationCodec.encode(x));
}
}
exports.ArgumentOperationCodec = ArgumentOperationCodec;