UNPKG

gun-flint

Version:

Micro-framework for building Gun adapters

36 lines (27 loc) 1.06 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var BaseMixin = function BaseMixin(context) { var _this2 = this; var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; (0, _classCallCheck3.default)(this, BaseMixin); var _this = this; keys.forEach(function (propName) { var orig = context[propName]; if (orig && typeof orig === 'function') { var wrap = function wrap() { var args = Array.prototype.slice.call(arguments, 0); args.push(orig.bind(context)); _this[propName].apply(context, args); }; context[propName] = wrap; } else { context[propName] = _this2[propName]; } }); }; exports.default = BaseMixin;