1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | 'use strict';
|
10 |
|
11 | var _assign = require('object-assign');
|
12 |
|
13 | var ReactBaseClasses = require('./ReactBaseClasses');
|
14 | var ReactChildren = require('./ReactChildren');
|
15 | var ReactDOMFactories = require('./ReactDOMFactories');
|
16 | var ReactElement = require('./ReactElement');
|
17 | var ReactPropTypes = require('./ReactPropTypes');
|
18 | var ReactVersion = require('./ReactVersion');
|
19 |
|
20 | var createReactClass = require('./createClass');
|
21 | var onlyChild = require('./onlyChild');
|
22 |
|
23 | var createElement = ReactElement.createElement;
|
24 | var createFactory = ReactElement.createFactory;
|
25 | var cloneElement = ReactElement.cloneElement;
|
26 |
|
27 | if (process.env.NODE_ENV !== 'production') {
|
28 | var lowPriorityWarning = require('./lowPriorityWarning');
|
29 | var canDefineProperty = require('./canDefineProperty');
|
30 | var ReactElementValidator = require('./ReactElementValidator');
|
31 | var didWarnPropTypesDeprecated = false;
|
32 | createElement = ReactElementValidator.createElement;
|
33 | createFactory = ReactElementValidator.createFactory;
|
34 | cloneElement = ReactElementValidator.cloneElement;
|
35 | }
|
36 |
|
37 | var __spread = _assign;
|
38 | var createMixin = function (mixin) {
|
39 | return mixin;
|
40 | };
|
41 |
|
42 | if (process.env.NODE_ENV !== 'production') {
|
43 | var warnedForSpread = false;
|
44 | var warnedForCreateMixin = false;
|
45 | __spread = function () {
|
46 | lowPriorityWarning(warnedForSpread, '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.');
|
47 | warnedForSpread = true;
|
48 | return _assign.apply(null, arguments);
|
49 | };
|
50 |
|
51 | createMixin = function (mixin) {
|
52 | lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');
|
53 | warnedForCreateMixin = true;
|
54 | return mixin;
|
55 | };
|
56 | }
|
57 |
|
58 | var React = {
|
59 |
|
60 |
|
61 | Children: {
|
62 | map: ReactChildren.map,
|
63 | forEach: ReactChildren.forEach,
|
64 | count: ReactChildren.count,
|
65 | toArray: ReactChildren.toArray,
|
66 | only: onlyChild
|
67 | },
|
68 |
|
69 | Component: ReactBaseClasses.Component,
|
70 | PureComponent: ReactBaseClasses.PureComponent,
|
71 |
|
72 | createElement: createElement,
|
73 | cloneElement: cloneElement,
|
74 | isValidElement: ReactElement.isValidElement,
|
75 |
|
76 |
|
77 |
|
78 | PropTypes: ReactPropTypes,
|
79 | createClass: createReactClass,
|
80 | createFactory: createFactory,
|
81 | createMixin: createMixin,
|
82 |
|
83 |
|
84 |
|
85 | DOM: ReactDOMFactories,
|
86 |
|
87 | version: ReactVersion,
|
88 |
|
89 |
|
90 | __spread: __spread
|
91 | };
|
92 |
|
93 | if (process.env.NODE_ENV !== 'production') {
|
94 | var warnedForCreateClass = false;
|
95 | if (canDefineProperty) {
|
96 | Object.defineProperty(React, 'PropTypes', {
|
97 | get: function () {
|
98 | lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');
|
99 | didWarnPropTypesDeprecated = true;
|
100 | return ReactPropTypes;
|
101 | }
|
102 | });
|
103 |
|
104 | Object.defineProperty(React, 'createClass', {
|
105 | get: function () {
|
106 | lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + " Use a plain JavaScript class instead. If you're not yet " + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');
|
107 | warnedForCreateClass = true;
|
108 | return createReactClass;
|
109 | }
|
110 | });
|
111 | }
|
112 |
|
113 |
|
114 |
|
115 |
|
116 | React.DOM = {};
|
117 | var warnedForFactories = false;
|
118 | Object.keys(ReactDOMFactories).forEach(function (factory) {
|
119 | React.DOM[factory] = function () {
|
120 | if (!warnedForFactories) {
|
121 | lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);
|
122 | warnedForFactories = true;
|
123 | }
|
124 | return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);
|
125 | };
|
126 | });
|
127 | }
|
128 |
|
129 | module.exports = React; |
\ | No newline at end of file |