summaryrefslogtreecommitdiff
path: root/school/node_modules/parse5/lib/utils/mixin.js
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/parse5/lib/utils/mixin.js')
-rw-r--r--school/node_modules/parse5/lib/utils/mixin.js39
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;