UNPKG

xiot-core-spec-ts

Version:
25 lines (24 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceTemplateCodec = void 0; const DeviceTemplate_1 = require("../../typedef/template/DeviceTemplate"); const DeviceType_1 = require("../../typedef/definition/urn/DeviceType"); const DescriptionCodec_1 = require("../definition/DescriptionCodec"); const Spec_1 = require("../../typedef/constant/Spec"); const ServiceTemplateCodec_1 = require("./ServiceTemplateCodec"); class DeviceTemplateCodec { static decode(o) { const type = new DeviceType_1.DeviceType(o[Spec_1.Spec.TYPE]); const description = DescriptionCodec_1.DescriptionCodec.decode(o[Spec_1.Spec.DESCRIPTION]); const services = ServiceTemplateCodec_1.ServiceTemplateCodec.decodeArray(o[Spec_1.Spec.SERVICES]); return new DeviceTemplate_1.DeviceTemplate(type, description, services); } static encode(device) { return { type: device.type.toString(), description: DescriptionCodec_1.DescriptionCodec.encode(device.description), services: ServiceTemplateCodec_1.ServiceTemplateCodec.encodeArray(device.services) }; } } exports.DeviceTemplateCodec = DeviceTemplateCodec;