@nextui-org/react-utils
Version:
A set of utilities for react on client side
28 lines (25 loc) • 481 B
JavaScript
"use client";
// src/refs.ts
import { isFunction } from "@nextui-org/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
};