knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
27 lines • 1.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const KNXConstants_1 = require("./KNXConstants");
const TunnelCRI_1 = __importDefault(require("./TunnelCRI"));
class CRIFactory {
static createFromBuffer(buffer, offset) {
if (offset >= buffer.length) {
throw new Error('Buffer too short');
}
const structureLength = buffer.readUInt8(offset);
if (offset + structureLength > buffer.length) {
throw new Error('Buffer too short');
}
offset += 1;
const connectionType = buffer.readUInt8(offset++);
switch (connectionType) {
case KNXConstants_1.KNX_CONSTANTS.TUNNEL_CONNECTION:
return TunnelCRI_1.default.createFromBuffer(buffer, offset);
}
throw new Error('Unknown CRI type');
}
}
exports.default = CRIFactory;
//# sourceMappingURL=CRIFactory.js.map