@flexis/ui
Version:
Styleless React Components
29 lines (23 loc) • 1.71 kB
JavaScript
import _bindInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/bind";
import _Reflect$deleteProperty from "@babel/runtime-corejs3/core-js-stable/reflect/delete-property";
/**
* Decortor for bind class method to context.
* @return Method decorator.
*/
export function Bind() {
return function (_, key, descriptor) {
var method = descriptor.value;
var bindedListenerKey = "__bindedListener(".concat(String(key), ")__");
_Reflect$deleteProperty(descriptor, 'value');
_Reflect$deleteProperty(descriptor, 'writable');
descriptor.get = function wrapper() {
if (this.hasOwnProperty(bindedListenerKey)) {
return this[bindedListenerKey];
}
var bindedListener = _bindInstanceProperty(method).call(method, this);
this[bindedListenerKey] = bindedListener;
return bindedListener;
};
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL0JpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7QUFJQSxPQUFNLFNBQVUsSUFBVixHQUFjO0FBQ25CLFNBQU8sVUFBQyxDQUFELEVBQUksR0FBSixFQUFTLFVBQVQsRUFBMkM7QUFFakQsUUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQTFCO0FBQ0EsUUFBTSxpQkFBaUIsOEJBQXVCLE1BQU0sQ0FBQyxHQUFELENBQTdCLFFBQXZCOztBQUVBLDRCQUF1QixVQUF2QixFQUFtQyxPQUFuQzs7QUFDQSw0QkFBdUIsVUFBdkIsRUFBbUMsVUFBbkM7O0FBRUEsSUFBQSxVQUFVLENBQUMsR0FBWCxHQUNBLFNBQVMsT0FBVCxHQUFnQjtBQUVmLFVBQUksS0FBSyxjQUFMLENBQW9CLGlCQUFwQixDQUFKLEVBQTRDO0FBQzNDLGVBQU8sS0FBSyxpQkFBTCxDQUFQO0FBQ0E7O0FBRUQsVUFBTSxjQUFjLEdBQUcsc0JBQUEsTUFBTSxNQUFOLENBQUEsTUFBTSxFQUFNLElBQU4sQ0FBN0I7O0FBRUEsV0FBSyxpQkFBTCxJQUEwQixjQUExQjtBQUVBLGFBQU8sY0FBUDtBQUNBLEtBWkQ7QUFhQSxHQXJCRDtBQXNCQSIsInNvdXJjZVJvb3QiOiIifQ==