UNPKG

@storm-stack/hooks

Version:

A collection of React hooks used by Storm Software in various client libraries and applications.

29 lines (28 loc) 662 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.composeRefs = composeRefs; exports.setRef = setRef; exports.useComposedRefs = useComposedRefs; var _isFunction = require("@storm-stack/types/type-checks/is-function"); var _react = require("react"); function setRef(ref, value) { if (ref) { if ((0, _isFunction.isFunction)(ref)) { ref(value); } else { ref.current = value; } } } function composeRefs(...refs) { return node => { for (const ref of refs) { setRef(ref, node); } }; } function useComposedRefs(...refs) { return (0, _react.useCallback)(composeRefs(...refs), refs); }