xiot-core-spec-ts
Version:
XIOT Specification Codec
34 lines (33 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const DeviceDTO_1 = require("../../typedef/dto/DeviceDTO");
const DescriptionCodec_1 = require("../definition/DescriptionCodec");
const Spec_1 = require("../../typedef/constant/Spec");
class DeviceDTOCodec {
static decodeArray(list) {
const array = [];
list.forEach(o => {
array.push(DeviceDTOCodec.decode(o));
});
return array;
}
static decode(o) {
const ns = o.ns;
const name = o.name;
const uuid = o.uuid;
const description = DescriptionCodec_1.DescriptionCodec.decode(o[Spec_1.Spec.DESCRIPTION]);
return new DeviceDTO_1.DeviceDTO(ns, name, uuid, description);
}
static encode(def) {
return {
ns: def.ns,
name: def.name,
uuid: def.uuid,
description: DescriptionCodec_1.DescriptionCodec.encode(def.description),
};
}
static encodeArray(list) {
return list.map(x => DeviceDTOCodec.encode(x));
}
}
exports.DeviceDTOCodec = DeviceDTOCodec;