222 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			222 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * @license React
 | 
						|
 * react-is.development.js
 | 
						|
 *
 | 
						|
 * Copyright (c) Facebook, Inc. and its affiliates.
 | 
						|
 *
 | 
						|
 * This source code is licensed under the MIT license found in the
 | 
						|
 * LICENSE file in the root directory of this source tree.
 | 
						|
 */
 | 
						|
 | 
						|
'use strict';
 | 
						|
 | 
						|
if (process.env.NODE_ENV !== "production") {
 | 
						|
  (function() {
 | 
						|
'use strict';
 | 
						|
 | 
						|
// ATTENTION
 | 
						|
// When adding new symbols to this file,
 | 
						|
// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
 | 
						|
// The Symbol used to tag the ReactElement-like types.
 | 
						|
var REACT_ELEMENT_TYPE = Symbol.for('react.element');
 | 
						|
var REACT_PORTAL_TYPE = Symbol.for('react.portal');
 | 
						|
var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
 | 
						|
var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
 | 
						|
var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
 | 
						|
var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
 | 
						|
var REACT_CONTEXT_TYPE = Symbol.for('react.context');
 | 
						|
var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
 | 
						|
var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
 | 
						|
var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
 | 
						|
var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
 | 
						|
var REACT_MEMO_TYPE = Symbol.for('react.memo');
 | 
						|
var REACT_LAZY_TYPE = Symbol.for('react.lazy');
 | 
						|
var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
 | 
						|
 | 
						|
// -----------------------------------------------------------------------------
 | 
						|
 | 
						|
var enableScopeAPI = false; // Experimental Create Event Handle API.
 | 
						|
var enableCacheElement = false;
 | 
						|
var enableTransitionTracing = false; // No known bugs, but needs performance testing
 | 
						|
 | 
						|
var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
 | 
						|
// stuff. Intended to enable React core members to more easily debug scheduling
 | 
						|
// issues in DEV builds.
 | 
						|
 | 
						|
var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
 | 
						|
 | 
						|
var REACT_MODULE_REFERENCE;
 | 
						|
 | 
						|
{
 | 
						|
  REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
 | 
						|
}
 | 
						|
 | 
						|
function isValidElementType(type) {
 | 
						|
  if (typeof type === 'string' || typeof type === 'function') {
 | 
						|
    return true;
 | 
						|
  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
 | 
						|
 | 
						|
 | 
						|
  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing  || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden  || type === REACT_OFFSCREEN_TYPE || enableScopeAPI  || enableCacheElement  || enableTransitionTracing ) {
 | 
						|
    return true;
 | 
						|
  }
 | 
						|
 | 
						|
  if (typeof type === 'object' && type !== null) {
 | 
						|
    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
 | 
						|
    // types supported by any Flight configuration anywhere since
 | 
						|
    // we don't know which Flight build this will end up being used
 | 
						|
    // with.
 | 
						|
    type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
 | 
						|
      return true;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return false;
 | 
						|
}
 | 
						|
 | 
						|
function typeOf(object) {
 | 
						|
  if (typeof object === 'object' && object !== null) {
 | 
						|
    var $$typeof = object.$$typeof;
 | 
						|
 | 
						|
    switch ($$typeof) {
 | 
						|
      case REACT_ELEMENT_TYPE:
 | 
						|
        var type = object.type;
 | 
						|
 | 
						|
        switch (type) {
 | 
						|
          case REACT_FRAGMENT_TYPE:
 | 
						|
          case REACT_PROFILER_TYPE:
 | 
						|
          case REACT_STRICT_MODE_TYPE:
 | 
						|
          case REACT_SUSPENSE_TYPE:
 | 
						|
          case REACT_SUSPENSE_LIST_TYPE:
 | 
						|
            return type;
 | 
						|
 | 
						|
          default:
 | 
						|
            var $$typeofType = type && type.$$typeof;
 | 
						|
 | 
						|
            switch ($$typeofType) {
 | 
						|
              case REACT_SERVER_CONTEXT_TYPE:
 | 
						|
              case REACT_CONTEXT_TYPE:
 | 
						|
              case REACT_FORWARD_REF_TYPE:
 | 
						|
              case REACT_LAZY_TYPE:
 | 
						|
              case REACT_MEMO_TYPE:
 | 
						|
              case REACT_PROVIDER_TYPE:
 | 
						|
                return $$typeofType;
 | 
						|
 | 
						|
              default:
 | 
						|
                return $$typeof;
 | 
						|
            }
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
      case REACT_PORTAL_TYPE:
 | 
						|
        return $$typeof;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return undefined;
 | 
						|
}
 | 
						|
var ContextConsumer = REACT_CONTEXT_TYPE;
 | 
						|
var ContextProvider = REACT_PROVIDER_TYPE;
 | 
						|
var Element = REACT_ELEMENT_TYPE;
 | 
						|
var ForwardRef = REACT_FORWARD_REF_TYPE;
 | 
						|
var Fragment = REACT_FRAGMENT_TYPE;
 | 
						|
var Lazy = REACT_LAZY_TYPE;
 | 
						|
var Memo = REACT_MEMO_TYPE;
 | 
						|
var Portal = REACT_PORTAL_TYPE;
 | 
						|
var Profiler = REACT_PROFILER_TYPE;
 | 
						|
var StrictMode = REACT_STRICT_MODE_TYPE;
 | 
						|
var Suspense = REACT_SUSPENSE_TYPE;
 | 
						|
var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
 | 
						|
var hasWarnedAboutDeprecatedIsAsyncMode = false;
 | 
						|
var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
 | 
						|
 | 
						|
function isAsyncMode(object) {
 | 
						|
  {
 | 
						|
    if (!hasWarnedAboutDeprecatedIsAsyncMode) {
 | 
						|
      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
 | 
						|
 | 
						|
      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return false;
 | 
						|
}
 | 
						|
function isConcurrentMode(object) {
 | 
						|
  {
 | 
						|
    if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
 | 
						|
      hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
 | 
						|
 | 
						|
      console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  return false;
 | 
						|
}
 | 
						|
function isContextConsumer(object) {
 | 
						|
  return typeOf(object) === REACT_CONTEXT_TYPE;
 | 
						|
}
 | 
						|
function isContextProvider(object) {
 | 
						|
  return typeOf(object) === REACT_PROVIDER_TYPE;
 | 
						|
}
 | 
						|
function isElement(object) {
 | 
						|
  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
 | 
						|
}
 | 
						|
function isForwardRef(object) {
 | 
						|
  return typeOf(object) === REACT_FORWARD_REF_TYPE;
 | 
						|
}
 | 
						|
function isFragment(object) {
 | 
						|
  return typeOf(object) === REACT_FRAGMENT_TYPE;
 | 
						|
}
 | 
						|
function isLazy(object) {
 | 
						|
  return typeOf(object) === REACT_LAZY_TYPE;
 | 
						|
}
 | 
						|
function isMemo(object) {
 | 
						|
  return typeOf(object) === REACT_MEMO_TYPE;
 | 
						|
}
 | 
						|
function isPortal(object) {
 | 
						|
  return typeOf(object) === REACT_PORTAL_TYPE;
 | 
						|
}
 | 
						|
function isProfiler(object) {
 | 
						|
  return typeOf(object) === REACT_PROFILER_TYPE;
 | 
						|
}
 | 
						|
function isStrictMode(object) {
 | 
						|
  return typeOf(object) === REACT_STRICT_MODE_TYPE;
 | 
						|
}
 | 
						|
function isSuspense(object) {
 | 
						|
  return typeOf(object) === REACT_SUSPENSE_TYPE;
 | 
						|
}
 | 
						|
function isSuspenseList(object) {
 | 
						|
  return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
 | 
						|
}
 | 
						|
 | 
						|
exports.ContextConsumer = ContextConsumer;
 | 
						|
exports.ContextProvider = ContextProvider;
 | 
						|
exports.Element = Element;
 | 
						|
exports.ForwardRef = ForwardRef;
 | 
						|
exports.Fragment = Fragment;
 | 
						|
exports.Lazy = Lazy;
 | 
						|
exports.Memo = Memo;
 | 
						|
exports.Portal = Portal;
 | 
						|
exports.Profiler = Profiler;
 | 
						|
exports.StrictMode = StrictMode;
 | 
						|
exports.Suspense = Suspense;
 | 
						|
exports.SuspenseList = SuspenseList;
 | 
						|
exports.isAsyncMode = isAsyncMode;
 | 
						|
exports.isConcurrentMode = isConcurrentMode;
 | 
						|
exports.isContextConsumer = isContextConsumer;
 | 
						|
exports.isContextProvider = isContextProvider;
 | 
						|
exports.isElement = isElement;
 | 
						|
exports.isForwardRef = isForwardRef;
 | 
						|
exports.isFragment = isFragment;
 | 
						|
exports.isLazy = isLazy;
 | 
						|
exports.isMemo = isMemo;
 | 
						|
exports.isPortal = isPortal;
 | 
						|
exports.isProfiler = isProfiler;
 | 
						|
exports.isStrictMode = isStrictMode;
 | 
						|
exports.isSuspense = isSuspense;
 | 
						|
exports.isSuspenseList = isSuspenseList;
 | 
						|
exports.isValidElementType = isValidElementType;
 | 
						|
exports.typeOf = typeOf;
 | 
						|
  })();
 | 
						|
}
 |