probe.gl
Version:
JavaScript Console Instrumentation and Benchmarking for Browser and Node
47 lines (42 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.autobind = autobind;
function autobind(obj) {
var predefined = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['constructor'];
var proto = Object.getPrototypeOf(obj);
var propNames = Object.getOwnPropertyNames(proto);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
var _loop = function _loop() {
var key = _step.value;
if (typeof obj[key] === 'function') {
if (!predefined.find(function (name) {
return key === name;
})) {
obj[key] = obj[key].bind(obj);
}
}
};
for (var _iterator = propNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
_loop();
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
//# sourceMappingURL=autobind.js.map