xiot-core-spec-ts
Version:
XIOT Specification Codec
33 lines (32 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NamespaceDefinitionCodec = void 0;
const NamespaceDefinition_1 = require("../../typedef/definition/NamespaceDefinition");
const Spec_1 = require("../../typedef/constant/Spec");
const DescriptionCodec_1 = require("./DescriptionCodec");
class NamespaceDefinitionCodec {
static decodeArray(list) {
const array = [];
list.forEach(o => {
array.push(NamespaceDefinitionCodec.decode(o));
});
return array;
}
static decode(o) {
const namespace = o[Spec_1.Spec.NAMESPACE];
const description = DescriptionCodec_1.DescriptionCodec.decode(o[Spec_1.Spec.DESCRIPTION]);
return new NamespaceDefinition_1.NamespaceDefinition(namespace, description);
}
static encode(def) {
return {
namespace: def.namespace,
description: DescriptionCodec_1.DescriptionCodec.encode(def.description)
};
}
static encodeArray(list) {
return list.map(x => {
return NamespaceDefinitionCodec.encode(x);
});
}
}
exports.NamespaceDefinitionCodec = NamespaceDefinitionCodec;