/
TON618OFF
/
FinalPWHTML
Обзор
Документация
Войти
/
TON618OFF
/
FinalPWHTML
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/parse5/lib/utils/mixin.js
39 строк
900 B
TON618OFF
не ну это ваще
23 июн 2024, 00:30
23 июн 2024, 00:30
e27ae20
Код
Авторство
О чём код?
'use strict'; class Mixin { constructor(host) { const originalMethods = {}; const overriddenMethods = this._getOverriddenMethods(this, originalMethods); for (const key of Object.keys(overriddenMethods)) { if (typeof overriddenMethods[key] === 'function') { originalMethods[key] = host[key]; host[key] = overriddenMethods[key]; } } } _getOverriddenMethods() { throw new Error('Not implemented'); } } Mixin.install = function(host, Ctor, opts) { if (!host.__mixins) { host.__mixins = []; } for (let i = 0; i < host.__mixins.length; i++) { if (host.__mixins[i].constructor === Ctor) { return host.__mixins[i]; } } const mixin = new Ctor(host, opts); host.__mixins.push(mixin); return mixin; }; module.exports = Mixin;