UNPKG

xiot-core-spec-ts

Version:
39 lines (38 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceDefinitionCodec = void 0; const Spec_1 = require("../../typedef/constant/Spec"); const DeviceDefinition_1 = require("../../typedef/definition/DeviceDefinition"); const DeviceType_1 = require("../../typedef/definition/urn/DeviceType"); const DescriptionCodec_1 = require("./DescriptionCodec"); class DeviceDefinitionCodec { static decodeArray(list) { const array = []; list.forEach(o => { array.push(DeviceDefinitionCodec.decode(o)); }); return array; } static decode(o) { const category = o.category; const type = new DeviceType_1.DeviceType(o[Spec_1.Spec.TYPE]); const description = DescriptionCodec_1.DescriptionCodec.decode(o[Spec_1.Spec.DESCRIPTION]); return new DeviceDefinition_1.DeviceDefinition(category, type, description); } static encode(def) { const o = { type: def.type.toString(), description: DescriptionCodec_1.DescriptionCodec.encode(def.description) }; if (def.category != null) { o.category = def.category; } return o; } static encodeArray(list) { return list.map(x => { return DeviceDefinitionCodec.encode(x); }); } } exports.DeviceDefinitionCodec = DeviceDefinitionCodec;