mixin.js 506 B

123456789101112131415161718
  1. 'use strict';
  2. var Mixin = module.exports = function (host) {
  3. var originalMethods = {},
  4. overriddenMethods = this._getOverriddenMethods(this, originalMethods);
  5. Object.keys(overriddenMethods).forEach(function (key) {
  6. if (typeof overriddenMethods[key] === 'function') {
  7. originalMethods[key] = host[key];
  8. host[key] = overriddenMethods[key];
  9. }
  10. });
  11. };
  12. Mixin.prototype._getOverriddenMethods = function () {
  13. throw new Error('Not implemented');
  14. };