UNPKG

xiot-core-spec-ts

Version:
35 lines (34 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnitDefinitionCodec = void 0; const Spec_1 = require("../../typedef/constant/Spec"); const UnitDefinition_1 = require("../../typedef/definition/UnitDefinition"); const UnitType_1 = require("../../typedef/definition/urn/UnitType"); const DescriptionCodec_1 = require("./DescriptionCodec"); class UnitDefinitionCodec { static decodeArray(list) { const array = []; if (list != null) { for (const o of list) { array.push(UnitDefinitionCodec.decode(o)); } } return array; } static decode(o) { const type = UnitType_1.UnitType.parse(o[Spec_1.Spec.TYPE] || ''); return new UnitDefinition_1.UnitDefinition(type, DescriptionCodec_1.DescriptionCodec.decode(o[Spec_1.Spec.DESCRIPTION])); } static encode(def) { return { type: def.type.toString(), description: DescriptionCodec_1.DescriptionCodec.encode(def.description) }; } static encodeArray(list) { return list.map(x => { return UnitDefinitionCodec.encode(x); }); } } exports.UnitDefinitionCodec = UnitDefinitionCodec;