UNPKG

tdesign-react

Version:
41 lines (33 loc) 1.45 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var _util_noop = require('../_util/noop.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var useInsertionEffect = typeof window !== "undefined" ? React__default["default"].useInsertionEffect || React__default["default"].useLayoutEffect : _util_noop["default"]; function useEventCallbackShouldNotBeInvokedBeforeMount() { throw new Error("INVALID_USEEVENTCALLBACK_INVOCATION: the callback from useEventCallback cannot be invoked before the component has mounted."); } function useEventCallback(callback) { var latestRef = React__default["default"].useRef(useEventCallbackShouldNotBeInvokedBeforeMount); useInsertionEffect(function () { latestRef.current = callback; }, [callback]); var stableRef = React__default["default"].useRef(null); if (!stableRef.current) { stableRef.current = function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return latestRef.current.apply(this, args); }; } return stableRef.current; } exports["default"] = useEventCallback; //# sourceMappingURL=useEventCallback.js.map