27 lines
685 B
JavaScript
27 lines
685 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.assignRef = void 0;
|
|
/**
|
|
* Assigns a value for a given ref, no matter of the ref format
|
|
* @param {RefObject} ref - a callback function or ref object
|
|
* @param value - a new value
|
|
*
|
|
* @see https://github.com/theKashey/use-callback-ref#assignref
|
|
* @example
|
|
* const refObject = useRef();
|
|
* const refFn = (ref) => {....}
|
|
*
|
|
* assignRef(refObject, "refValue");
|
|
* assignRef(refFn, "refValue");
|
|
*/
|
|
function assignRef(ref, value) {
|
|
if (typeof ref === 'function') {
|
|
ref(value);
|
|
}
|
|
else if (ref) {
|
|
ref.current = value;
|
|
}
|
|
return ref;
|
|
}
|
|
exports.assignRef = assignRef;
|