isFragment.js 864 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = isFragment;
  7. var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
  8. var REACT_ELEMENT_TYPE_18 = Symbol.for('react.element');
  9. var REACT_ELEMENT_TYPE_19 = Symbol.for('react.transitional.element');
  10. var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
  11. /**
  12. * Compatible with React 18 or 19 to check if node is a Fragment.
  13. */
  14. function isFragment(object) {
  15. return (
  16. // Base object type
  17. object && (0, _typeof2.default)(object) === 'object' && (
  18. // React Element type
  19. object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&
  20. // React Fragment type
  21. object.type === REACT_FRAGMENT_TYPE
  22. );
  23. }