UNPKG

418 BJavaScriptView Raw
1'use strict';
2
3function isMethod(propertyName, value) {
4 return propertyName !== 'constructor' && typeof value === 'function';
5}
6
7module.exports = (obj) => {
8 const propertyNames = Object.getOwnPropertyNames(obj.constructor.prototype);
9 propertyNames.forEach((propertyName) => {
10 const value = obj[propertyName];
11 if (isMethod(propertyName, value)) {
12 obj[propertyName] = value.bind(obj);
13 }
14 });
15};