UNPKG

xiot-core-spec-ts

Version:
37 lines (36 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Spec_1 = require("../../typedef/constant/Spec"); const PropertyDefinitionCodec_1 = require("../definition/PropertyDefinitionCodec"); const PropertyTemplate_1 = require("../../typedef/template/PropertyTemplate"); class PropertyTemplateCodec { static decodeArray(array) { const list = []; if (array != null) { for (const o of array) { list.push(PropertyTemplateCodec.decode(o)); } } return list; } static decode(o) { const iid = o[Spec_1.Spec.IID]; const required = o[Spec_1.Spec.X_REQUIRED]; const def = PropertyDefinitionCodec_1.PropertyDefinitionCodec.decode(o); return new PropertyTemplate_1.PropertyTemplate(iid, required, def); } static encode(property) { const o = PropertyDefinitionCodec_1.PropertyDefinitionCodec.encode(property); o[Spec_1.Spec.IID] = property.iid; o[Spec_1.Spec.X_REQUIRED] = property.required; return o; } static encodeArray(properties) { const array = []; properties.forEach((property) => { array.push(PropertyTemplateCodec.encode(property)); }); return array; } } exports.PropertyTemplateCodec = PropertyTemplateCodec;