assignRef.js 685 B

1234567891011121314151617181920212223242526
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.assignRef = void 0;
  4. /**
  5. * Assigns a value for a given ref, no matter of the ref format
  6. * @param {RefObject} ref - a callback function or ref object
  7. * @param value - a new value
  8. *
  9. * @see https://github.com/theKashey/use-callback-ref#assignref
  10. * @example
  11. * const refObject = useRef();
  12. * const refFn = (ref) => {....}
  13. *
  14. * assignRef(refObject, "refValue");
  15. * assignRef(refFn, "refValue");
  16. */
  17. function assignRef(ref, value) {
  18. if (typeof ref === 'function') {
  19. ref(value);
  20. }
  21. else if (ref) {
  22. ref.current = value;
  23. }
  24. return ref;
  25. }
  26. exports.assignRef = assignRef;