Add class utils
This commit is contained in:
17
packages/0x.js/src/utils/class_utils.ts
Normal file
17
packages/0x.js/src/utils/class_utils.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as _ from 'lodash';
|
||||
|
||||
export const classUtils = {
|
||||
bindAll(self: any, exclude: string[] = ['contructor'], thisArg?: any): void {
|
||||
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;
|
||||
},
|
||||
};
|
Reference in New Issue
Block a user