diff options
Diffstat (limited to 'school/node_modules/parse5/lib/utils/mixin.js')
-rw-r--r-- | school/node_modules/parse5/lib/utils/mixin.js | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/school/node_modules/parse5/lib/utils/mixin.js b/school/node_modules/parse5/lib/utils/mixin.js deleted file mode 100644 index 26465c4..0000000 --- a/school/node_modules/parse5/lib/utils/mixin.js +++ /dev/null @@ -1,39 +0,0 @@ -'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; |