UNPKG

rjweb-server

Version:

Easy and Robust Way to create a Web Server with Many Easy-to-use Features in NodeJS

25 lines (24 loc) 960 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function mergeClasses(target, ...sources) { sources.forEach((s) => { const source = s?.prototype ?? {}; const descriptors = Object.keys(source).reduce((descriptors, key) => { descriptors[key] = Object.getOwnPropertyDescriptor(source, key); return descriptors; }, {}); Object.getOwnPropertyNames(source).forEach((key) => { descriptors[key] = Object.getOwnPropertyDescriptor(source, key); return descriptors; }); Object.getOwnPropertySymbols(source).forEach((sym) => { const descriptor = Object.getOwnPropertyDescriptor(source, sym); if (descriptor.enumerable) { descriptors[sym] = descriptor; } }); Object.defineProperties(target.prototype, descriptors); }); return target; } exports.default = mergeClasses;