knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
34 lines • 1.32 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypedEventEmitter = exports.applyMixin = void 0;
const events_1 = __importDefault(require("events"));
function applyMixin(target, mixin, includeConstructor = false) {
var _a;
const inheritanceChain = [mixin];
while (true) {
const current = inheritanceChain[0];
const base = Object.getPrototypeOf(current);
if (base === null || base === void 0 ? void 0 : base.prototype) {
inheritanceChain.unshift(base);
}
else {
break;
}
}
for (const ctor of inheritanceChain) {
for (const prop of Object.getOwnPropertyNames(ctor.prototype)) {
if (includeConstructor || prop !== 'constructor') {
Object.defineProperty(target.prototype, prop, (_a = Object.getOwnPropertyDescriptor(ctor.prototype, prop)) !== null && _a !== void 0 ? _a : Object.create(null));
}
}
}
}
exports.applyMixin = applyMixin;
class TypedEventEmitter {
}
exports.TypedEventEmitter = TypedEventEmitter;
applyMixin(TypedEventEmitter, events_1.default);
//# sourceMappingURL=TypedEmitter.js.map