vue-blocklink
Version:
Vue support for the Blockchain Link browser extension
18 lines (17 loc) • 549 B
JavaScript
import * as _ from 'lodash';
export const classUtils = {
bindAll(self, exclude = ['contructor'], thisArg) {
for (const key of Object.getOwnPropertyNames(self)) {
const val = self[key];
if (!_.includes(exclude, key)) {
if (_.isFunction(val)) {
self[key] = val.bind(thisArg || self);
}
else if (_.isObject(val)) {
classUtils.bindAll(val, exclude, self);
}
}
}
return self;
},
};