Dashboard sipadu mbip
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.setRef = exports.shallowEqual = exports.safeInvoke = exports.unwrapArray = void 0;
  6. /**
  7. * Takes an argument and if it's an array, returns the first item in the array,
  8. * otherwise returns the argument. Used for Preact compatibility.
  9. */
  10. var unwrapArray = function unwrapArray(arg) {
  11. return Array.isArray(arg) ? arg[0] : arg;
  12. };
  13. /**
  14. * Takes a maybe-undefined function and arbitrary args and invokes the function
  15. * only if it is defined.
  16. */
  17. exports.unwrapArray = unwrapArray;
  18. var safeInvoke = function safeInvoke(fn) {
  19. if (typeof fn === "function") {
  20. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  21. args[_key - 1] = arguments[_key];
  22. }
  23. return fn.apply(void 0, args);
  24. }
  25. };
  26. /**
  27. * Does a shallow equality check of two objects by comparing the reference
  28. * equality of each value.
  29. */
  30. exports.safeInvoke = safeInvoke;
  31. var shallowEqual = function shallowEqual(objA, objB) {
  32. var aKeys = Object.keys(objA);
  33. var bKeys = Object.keys(objB);
  34. if (bKeys.length !== aKeys.length) {
  35. return false;
  36. }
  37. for (var i = 0; i < bKeys.length; i++) {
  38. var key = aKeys[i];
  39. if (objA[key] !== objB[key]) {
  40. return false;
  41. }
  42. }
  43. return true;
  44. };
  45. /**
  46. * Sets a ref using either a ref callback or a ref object
  47. */
  48. exports.shallowEqual = shallowEqual;
  49. var setRef = function setRef(ref, node) {
  50. // if its a function call it
  51. if (typeof ref === "function") {
  52. return safeInvoke(ref, node);
  53. } // otherwise we should treat it as a ref object
  54. else if (ref != null) {
  55. ref.current = node;
  56. }
  57. };
  58. exports.setRef = setRef;