UNPKG

vision-embedded-web

Version:
36 lines (35 loc) 1.25 kB
"use strict"; 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;