UNPKG

2.69 kBJavaScriptView Raw
1/**
2 * Copyright 2013-present, Facebook, Inc.
3 * All rights reserved.
4 *
5 * This source code is licensed under the BSD-style license found in the
6 * LICENSE file in the root directory of this source tree. An additional grant
7 * of patent rights can be found in the PATENTS file in the same directory.
8 *
9 */
10
11'use strict';
12
13var _assign = require('object-assign');
14
15var ReactChildren = require('./ReactChildren');
16var ReactComponent = require('./ReactComponent');
17var ReactPureComponent = require('./ReactPureComponent');
18var ReactClass = require('./ReactClass');
19var ReactDOMFactories = require('./ReactDOMFactories');
20var ReactElement = require('./ReactElement');
21var ReactPropTypes = require('./ReactPropTypes');
22var ReactVersion = require('./ReactVersion');
23
24var onlyChild = require('./onlyChild');
25var warning = require('fbjs/lib/warning');
26
27var createElement = ReactElement.createElement;
28var createFactory = ReactElement.createFactory;
29var cloneElement = ReactElement.cloneElement;
30
31if (process.env.NODE_ENV !== 'production') {
32 var ReactElementValidator = require('./ReactElementValidator');
33 createElement = ReactElementValidator.createElement;
34 createFactory = ReactElementValidator.createFactory;
35 cloneElement = ReactElementValidator.cloneElement;
36}
37
38var __spread = _assign;
39
40if (process.env.NODE_ENV !== 'production') {
41 var warned = false;
42 __spread = function () {
43 process.env.NODE_ENV !== 'production' ? 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.') : void 0;
44 warned = true;
45 return _assign.apply(null, arguments);
46 };
47}
48
49var React = {
50
51 // Modern
52
53 Children: {
54 map: ReactChildren.map,
55 forEach: ReactChildren.forEach,
56 count: ReactChildren.count,
57 toArray: ReactChildren.toArray,
58 only: onlyChild
59 },
60
61 Component: ReactComponent,
62 PureComponent: ReactPureComponent,
63
64 createElement: createElement,
65 cloneElement: cloneElement,
66 isValidElement: ReactElement.isValidElement,
67
68 // Classic
69
70 PropTypes: ReactPropTypes,
71 createClass: ReactClass.createClass,
72 createFactory: createFactory,
73 createMixin: function (mixin) {
74 // Currently a noop. Will be used to validate and trace mixins.
75 return mixin;
76 },
77
78 // This looks DOM specific but these are actually isomorphic helpers
79 // since they are just generating DOM strings.
80 DOM: ReactDOMFactories,
81
82 version: ReactVersion,
83
84 // Deprecated hook for JSX spread, don't use this for anything.
85 __spread: __spread
86};
87
88module.exports = React;
\No newline at end of file