refun
Version:
A collection of React Hook-enabled functions that compose harmoniously with each other. Similar to `recompose`, but:
22 lines (19 loc) • 696 B
JavaScript
import { useRef } from 'react';
import { getObjectKeys, EMPTY_OBJECT } from 'tsfn';
export var mapHandlers = function mapHandlers(handlers) {
return function (props) {
var actualHandlers = useRef(EMPTY_OBJECT);
var propsRef = useRef(props);
propsRef.current = props;
if (actualHandlers.current === EMPTY_OBJECT) {
actualHandlers.current = getObjectKeys(handlers).reduce(function (result, key) {
result[key] = function () {
return handlers[key](propsRef.current).apply(void 0, arguments);
};
return result;
}, {});
}
return Object.assign({}, props, actualHandlers.current);
};
};
//# sourceMappingURL=map-handlers.js.map