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