UNPKG

xiot-core-spec-ts

Version:
35 lines (34 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FormatDefinitionCodec = void 0; const FormatDefinition_1 = require("../../typedef/definition/FormatDefinition"); const FormatType_1 = require("../../typedef/definition/urn/FormatType"); const DescriptionCodec_1 = require("./DescriptionCodec"); const Spec_1 = require("../../typedef/constant/Spec"); class FormatDefinitionCodec { static decodeArray(list) { const array = []; if (list != null) { for (const o of list) { array.push(FormatDefinitionCodec.decode(o)); } } return array; } static decode(o) { const type = FormatType_1.FormatType.parse(o[Spec_1.Spec.TYPE] || ''); return new FormatDefinition_1.FormatDefinition(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 FormatDefinitionCodec.encode(x); }); } } exports.FormatDefinitionCodec = FormatDefinitionCodec;