mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
92 lines
2.4 KiB
JavaScript
92 lines
2.4 KiB
JavaScript
/**
|
|
* Copyright 2013-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*
|
|
* @providesModule React
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
var ReactChildren = require('ReactChildren');
|
|
var ReactComponent = require('ReactComponent');
|
|
var ReactClass = require('ReactClass');
|
|
var ReactDOMFactories = require('ReactDOMFactories');
|
|
var ReactElement = require('ReactElement');
|
|
var ReactElementValidator = require('ReactElementValidator');
|
|
var ReactPropTypes = require('ReactPropTypes');
|
|
var ReactVersion = require('ReactVersion');
|
|
|
|
var onlyChild = require('onlyChild');
|
|
var warning = require('warning');
|
|
|
|
var createElement = ReactElement.createElement;
|
|
var createFactory = ReactElement.createFactory;
|
|
var cloneElement = ReactElement.cloneElement;
|
|
|
|
if (__DEV__) {
|
|
createElement = ReactElementValidator.createElement;
|
|
createFactory = ReactElementValidator.createFactory;
|
|
cloneElement = ReactElementValidator.cloneElement;
|
|
}
|
|
|
|
var __spread = Object.assign;
|
|
|
|
if (__DEV__) {
|
|
var warned = false;
|
|
__spread = function() {
|
|
warning(
|
|
warned,
|
|
'React.__spread is deprecated and should not be used. Use ' +
|
|
'Object.assign directly or another helper function with similar ' +
|
|
'semantics. You may be seeing this warning due to your compiler. ' +
|
|
'See https://fb.me/react-spread-deprecation for more details.'
|
|
);
|
|
warned = true;
|
|
return Object.assign.apply(null, arguments);
|
|
};
|
|
}
|
|
|
|
var React = {
|
|
|
|
// Modern
|
|
|
|
Children: {
|
|
map: ReactChildren.map,
|
|
forEach: ReactChildren.forEach,
|
|
count: ReactChildren.count,
|
|
toArray: ReactChildren.toArray,
|
|
only: onlyChild,
|
|
},
|
|
|
|
Component: ReactComponent,
|
|
|
|
createElement: createElement,
|
|
cloneElement: cloneElement,
|
|
isValidElement: ReactElement.isValidElement,
|
|
|
|
// Classic
|
|
|
|
PropTypes: ReactPropTypes,
|
|
createClass: ReactClass.createClass,
|
|
createFactory: createFactory,
|
|
createMixin: function(mixin) {
|
|
// Currently a noop. Will be used to validate and trace mixins.
|
|
return mixin;
|
|
},
|
|
|
|
// This looks DOM specific but these are actually isomorphic helpers
|
|
// since they are just generating DOM strings.
|
|
DOM: ReactDOMFactories,
|
|
|
|
version: ReactVersion,
|
|
|
|
// Deprecated hook for JSX spread, don't use this for anything.
|
|
__spread: __spread,
|
|
};
|
|
|
|
module.exports = React;
|