xiot-core-spec-ts
Version:
XIOT Specification Codec
38 lines (37 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Group_1 = require("../../typedef/group/Group");
const GroupType_1 = require("../../typedef/definition/urn/GroupType");
const Position_1 = require("../../typedef/position/Position");
class GroupCodec {
static decodeArray(list) {
const array = [];
if (list != null) {
list.forEach(o => array.push(GroupCodec.decode(o)));
}
return array;
}
static decode(o) {
const id = o.id;
const type = new GroupType_1.GroupType(o.type);
const pos = Position_1.PositionFromString(o.position);
const members = o.members;
return new Group_1.Group(id, type, pos, members);
}
static encode(o) {
return {
id: o.id,
type: o.type.toString(),
position: o.position.toString(),
members: o.members
};
}
static encodeArray(list) {
const array = [];
list.forEach((o) => {
array.push(GroupCodec.encode(o));
});
return array;
}
}
exports.GroupCodec = GroupCodec;