xiot-core-spec-ts
Version:
XIOT Specification Codec
35 lines (34 loc) • 1.26 kB
JavaScript
;
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;