vision-embedded-web
Version:
Cubic Vision methods for embedded web content.
36 lines (35 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.autoBind = exports.LiteAutoBind = void 0;
var LiteAutoBind = /** @class */ (function () {
function LiteAutoBind() {
(0, exports.autoBind)(this);
}
return LiteAutoBind;
}());
exports.LiteAutoBind = LiteAutoBind;
var getAllProperties = function (object) {
var properties = new Set();
do {
for (var _i = 0, _a = Reflect.ownKeys(object); _i < _a.length; _i++) {
var key = _a[_i];
properties.add([object, key]);
}
object = Reflect.getPrototypeOf(object);
} while (object && object !== Object.prototype);
return Array.from(properties);
};
var autoBind = function (self) {
for (var _i = 0, _a = getAllProperties(self.constructor.prototype); _i < _a.length; _i++) {
var value = _a[_i];
var _b = value, object = _b[0], key = _b[1];
if (key === 'constructor') {
continue;
}
var descriptor = Reflect.getOwnPropertyDescriptor(object, key);
if (descriptor && typeof descriptor.value === 'function') {
self[key] = self[key].bind(self);
}
}
};
exports.autoBind = autoBind;