@heroui/react-utils
Version:
A set of utilities for react on client side
27 lines (24 loc) • 473 B
JavaScript
"use client";
// src/refs.ts
import { isFunction } from "@heroui/shared-utils";
function assignRef(ref, value) {
if (ref == null) return;
if (isFunction(ref)) {
ref(value);
return;
}
try {
ref.current = value;
} catch (error) {
throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);
}
}
function mergeRefs(...refs) {
return (node) => {
refs.forEach((ref) => assignRef(ref, node));
};
}
export {
assignRef,
mergeRefs
};