UNPKG

@flexis/ui

Version:

Styleless React Components

22 lines 1.71 kB
/** * Decortor for bind class method to context. * @return Method decorator. */ export function Bind() { return (_, key, descriptor) => { const method = descriptor.value; const bindedListenerKey = `__bindedListener(${String(key)})__`; Reflect.deleteProperty(descriptor, 'value'); Reflect.deleteProperty(descriptor, 'writable'); descriptor.get = function wrapper() { if (this.hasOwnProperty(bindedListenerKey)) { return this[bindedListenerKey]; } const bindedListener = method.bind(this); this[bindedListenerKey] = bindedListener; return bindedListener; }; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL0JpbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLElBQUk7SUFDbkIsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBOEIsRUFBRSxFQUFFO1FBRWpELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFL0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFL0MsVUFBVSxDQUFDLEdBQUc7WUFDZCxTQUFTLE9BQU87Z0JBRWYsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7b0JBQzNDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7aUJBQy9CO2dCQUVELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLGNBQWMsQ0FBQztnQkFFekMsT0FBTyxjQUFjLENBQUM7WUFDdkIsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyJ9