@razorpay/blade
Version:
The Design System that powers Razorpay
8 lines (5 loc) • 811 B
JavaScript
import { useMemo } from 'react';
import { throwBladeError } from './logger/logger.js';
function assignRef(ref,value){if(ref==null)return;if(typeof ref==='function'){ref(value);return;}try{ref.current=value;}catch(error){throwBladeError({moduleName:'useMergeRefs',message:`Cannot assign value '${value}' to ref '${ref}'`});}}function mergeRefs(){for(var _len=arguments.length,refs=new Array(_len),_key=0;_key<_len;_key++){refs[_key]=arguments[_key];}return function(node){refs.forEach(function(ref){assignRef(ref,node);});};}function useMergeRefs(){for(var _len2=arguments.length,refs=new Array(_len2),_key2=0;_key2<_len2;_key2++){refs[_key2]=arguments[_key2];}return useMemo(function(){return mergeRefs.apply(void 0,refs);},refs);}
export { mergeRefs, useMergeRefs };
//# sourceMappingURL=useMergeRefs.js.map