@flexis/ui
Version:
Styleless React Components
39 lines (30 loc) • 2.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.Bind = Bind;
var _bind = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/bind"));
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/reflect/delete-property"));
/**
* Decortor for bind class method to context.
* @return Method decorator.
*/
function Bind() {
return function (_, key, descriptor) {
var method = descriptor.value;
var bindedListenerKey = "__bindedListener(".concat(String(key), ")__");
(0, _deleteProperty.default)(descriptor, 'value');
(0, _deleteProperty.default)(descriptor, 'writable');
descriptor.get = function wrapper() {
if (this.hasOwnProperty(bindedListenerKey)) {
return this[bindedListenerKey];
}
var bindedListener = (0, _bind.default)(method).call(method, this);
this[bindedListenerKey] = bindedListener;
return bindedListener;
};
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL0JpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBSU0sU0FBVSxJQUFWLEdBQWM7QUFDbkIsU0FBTyxVQUFDLENBQUQsRUFBSSxHQUFKLEVBQVMsVUFBVCxFQUEyQztBQUVqRCxRQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBMUI7QUFDQSxRQUFNLGlCQUFpQiw4QkFBdUIsTUFBTSxDQUFDLEdBQUQsQ0FBN0IsUUFBdkI7QUFFQSxpQ0FBdUIsVUFBdkIsRUFBbUMsT0FBbkM7QUFDQSxpQ0FBdUIsVUFBdkIsRUFBbUMsVUFBbkM7O0FBRUEsSUFBQSxVQUFVLENBQUMsR0FBWCxHQUNBLFNBQVMsT0FBVCxHQUFnQjtBQUVmLFVBQUksS0FBSyxjQUFMLENBQW9CLGlCQUFwQixDQUFKLEVBQTRDO0FBQzNDLGVBQU8sS0FBSyxpQkFBTCxDQUFQO0FBQ0E7O0FBRUQsVUFBTSxjQUFjLEdBQUcsbUJBQUEsTUFBTSxNQUFOLENBQUEsTUFBTSxFQUFNLElBQU4sQ0FBN0I7QUFFQSxXQUFLLGlCQUFMLElBQTBCLGNBQTFCO0FBRUEsYUFBTyxjQUFQO0FBQ0EsS0FaRDtBQWFBLEdBckJEO0FBc0JBIiwic291cmNlUm9vdCI6IiJ9