aboutsummaryrefslogtreecommitdiff
path: root/node_modules/react-dom/lib/deprecated.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/react-dom/lib/deprecated.js')
-rw-r--r--node_modules/react-dom/lib/deprecated.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/react-dom/lib/deprecated.js b/node_modules/react-dom/lib/deprecated.js
new file mode 100644
index 000000000..aa0b49fce
--- /dev/null
+++ b/node_modules/react-dom/lib/deprecated.js
@@ -0,0 +1,56 @@
+/**
+ * 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.
+ *
+ *
+ */
+
+'use strict';
+
+var _assign = require('object-assign');
+
+var warning = require('fbjs/lib/warning');
+
+/**
+ * This will log a single deprecation notice per function and forward the call
+ * on to the new API.
+ *
+ * @param {string} fnName The name of the function
+ * @param {string} newModule The module that fn will exist in
+ * @param {string} newPackage The module that fn will exist in
+ * @param {*} ctx The context this forwarded call should run in
+ * @param {function} fn The function to forward on to
+ * @return {function} The function that will warn once and then call fn
+ */
+function deprecated(fnName, newModule, newPackage, ctx, fn) {
+ var warned = false;
+ if (process.env.NODE_ENV !== 'production') {
+ var newFn = function () {
+ process.env.NODE_ENV !== 'production' ? warning(warned,
+ /* eslint-disable no-useless-concat */
+ // Require examples in this string must be split to prevent React's
+ // build tools from mistaking them for real requires.
+ // Otherwise the build tools will attempt to build a '%s' module.
+ 'React.%s is deprecated. Please use %s.%s from require' + '(\'%s\') ' + 'instead.', fnName, newModule, fnName, newPackage) : void 0;
+ /* eslint-enable no-useless-concat */
+ warned = true;
+ return fn.apply(ctx, arguments);
+ };
+ // We need to make sure all properties of the original fn are copied over.
+ // In particular, this is needed to support PropTypes
+ _assign(newFn, fn);
+
+ // Flow is not smart enough to figure out that newFn is of the same type as
+ // fn. Since we don't want to lose out the type of the function, casting
+ // to any and force flow to use T.
+ return newFn;
+ }
+
+ return fn;
+}
+
+module.exports = deprecated; \ No newline at end of file