/
TheWitcher1991
/
HTMLREditor
Обзор
Документация
Войти
/
TheWitcher1991
/
HTMLREditor
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/utils/mix.js
31 строка
651 B
TheWitcher1991
Update 2.1.0
04 июл 2021, 16:42
04 июл 2021, 16:42
984b160
Код
Авторство
О чём код?
/* eslint-env node, mocha, es6 */ /** * @module engine/utils/mix */ 'use strict'; /** * @function mix * * @param {Class|Object} baseClass * @param {Class|Object} mixins * * @return {Class|Object} */ export default function mix(baseClass, ...mixins) { mixins.forEach(mixin => { Object.getOwnPropertyNames(mixin).concat(Object.getOwnPropertySymbols(mixin)) .forEach(key => { if (key in baseClass.prototype) { return; } const sourceDescriptor = Object.getOwnPropertyDescriptor(mixin, key); sourceDescriptor.enumerable = false; Object.defineProperty(baseClass.prototype, key, sourceDescriptor); }); }); }