createRef.js 702 B

123456789101112131415161718192021222324252627
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.createCallbackRef = void 0;
  4. /**
  5. * creates a Ref object with on change callback
  6. * @param callback
  7. * @returns {RefObject}
  8. *
  9. * @see {@link useCallbackRef}
  10. * @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs
  11. */
  12. function createCallbackRef(callback) {
  13. var current = null;
  14. return {
  15. get current() {
  16. return current;
  17. },
  18. set current(value) {
  19. var last = current;
  20. if (last !== value) {
  21. current = value;
  22. callback(value, last);
  23. }
  24. },
  25. };
  26. }
  27. exports.createCallbackRef = createCallbackRef;