UNPKG

refun

Version:

A collection of React Hook-enabled functions that compose harmoniously with each other. Similar to `recompose`, but:

36 lines (27 loc) 1.11 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.mapHandlersFactory = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = require("react"); var _tsfn = require("tsfn"); var mapHandlersFactory = function mapHandlersFactory(getHandlers) { return function (props) { var actualHandlers = (0, _react.useRef)(_tsfn.EMPTY_OBJECT); var propsRef = (0, _react.useRef)(props); propsRef.current = props; if (actualHandlers.current === _tsfn.EMPTY_OBJECT) { var handlers = getHandlers(props); actualHandlers.current = (0, _tsfn.getObjectKeys)(handlers).reduce(function (result, key) { result[key] = function () { return handlers[key](propsRef.current).apply(void 0, arguments); }; return result; }, {}); } return (0, _extends2.default)({}, props, actualHandlers.current); }; }; exports.mapHandlersFactory = mapHandlersFactory; //# sourceMappingURL=map-handlers-factory.js.map