xiot-core-message-ts
Version:
31 lines (30 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const GetProperties_1 = require("../../typedef/iq/basic/GetProperties");
const PropertyOperationCodec_1 = require("xiot-core-spec-ts/dist/xiot/core/spec/codec/operation/PropertyOperationCodec");
class GetPropertiesCodec {
encodeQueryContent(query) {
if (query instanceof GetProperties_1.QueryGetProperties) {
const list = PropertyOperationCodec_1.PropertyOperationCodec.encodeQueryGETtoArray(query.properties);
return { properties: list };
}
return null;
}
encodeResultContent(result) {
if (result instanceof GetProperties_1.ResultGetProperties) {
const list = PropertyOperationCodec_1.PropertyOperationCodec.encodeResultGET(result.properties);
return { properties: list };
}
return null;
}
decodeQuery(id, content) {
const properties = content['properties'];
const list = PropertyOperationCodec_1.PropertyOperationCodec.decodePIDArray(properties);
return new GetProperties_1.QueryGetProperties(id, list);
}
decodeResult(id, content) {
const list = PropertyOperationCodec_1.PropertyOperationCodec.decodeValues(content);
return new GetProperties_1.ResultGetProperties(id, list);
}
}
exports.GetPropertiesCodec = GetPropertiesCodec;