dlms-protocol
Version:
DLMS Protocol parser for JavaScript
46 lines (45 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/esnext.iterator.map.js");
require("core-js/modules/web.dom-collections.iterator.js");
var _DataAccessResult = require("../enum/DataAccessResult");
class WriteResponse {
constructor() {
let bytes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
this.resultQty = 0;
this.status = 0;
this.dataAccessResult = null;
this.value = [];
if (bytes) {
this.insertData(bytes);
}
}
insertData(bytes) {
this.value = [...bytes]; // Clone the byte array
this.resultQty = bytes[1];
if (bytes[2] === 0) {
this.status = bytes[2];
} else {
this.dataAccessResult = this.getPropertyNameByValue(bytes[3]);
}
}
getBytes() {
return this.value;
}
getHexString() {
return this.value.map(byte => byte.toString(16).toUpperCase().padStart(2, '0')).join(' ');
}
getPropertyNameByValue(value) {
for (const property in _DataAccessResult.DataAccessResult) {
if (_DataAccessResult.DataAccessResult[property] === value) {
return property;
}
}
return 'VALOR_INVALIDO'; // Ou lançar uma exceção
}
}
exports.default = WriteResponse;