Created
May 22, 2015 02:15
-
-
Save zpao/ef3b0bf76df9bedfdb90 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- react-with-addons.js 2015-05-21 19:10:23.000000000 -0700 | |
+++ build/react-with-addons.js 2015-05-21 19:14:38.000000000 -0700 | |
@@ -522,9 +522,9 @@ | |
* @param {string} className the CSS className | |
* @return {DOMElement} the element passed in | |
*/ | |
addClass: function (element, className) { | |
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(!/\s/.test(className)); | |
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSSCore.addClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : undefined; | |
if (className) { | |
if (element.classList) { | |
element.classList.add(className); | |
@@ -542,9 +542,9 @@ | |
* @param {string} className the CSS className | |
* @return {DOMElement} the element passed in | |
*/ | |
removeClass: function (element, className) { | |
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(!/\s/.test(className)); | |
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSSCore.removeClass takes only a single class name. "%s" contains ' + 'multiple classes.', className) : invariant(false) : undefined; | |
if (className) { | |
if (element.classList) { | |
element.classList.remove(className); | |
@@ -575,9 +575,9 @@ | |
* @param {string} className the CSS className | |
* @return {boolean} true if the element has the class, false if not | |
*/ | |
hasClass: function (element, className) { | |
- 'production' !== "development" ? invariant(!/\s/.test(className), 'CSS.hasClass takes only a single class name.') : invariant(!/\s/.test(className)); | |
+ !!/\s/.test(className) ? 'production' !== "development" ? invariant(false, 'CSS.hasClass takes only a single class name.') : invariant(false) : undefined; | |
if (element.classList) { | |
return !!className && element.classList.contains(className); | |
} | |
return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; | |
@@ -762,27 +762,27 @@ | |
return; | |
} | |
warnedStyleNames[name] = true; | |
- 'production' !== "development" ? warning(false, 'Unsupported style property %s. Did you mean %s?', name, camelizeStyleName(name)) : null; | |
+ 'production' !== "development" ? warning(false, 'Unsupported style property %s. Did you mean %s?', name, camelizeStyleName(name)) : undefined; | |
}; | |
var warnBadVendoredStyleName = function (name) { | |
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { | |
return; | |
} | |
warnedStyleNames[name] = true; | |
- 'production' !== "development" ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)) : null; | |
+ 'production' !== "development" ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1)) : undefined; | |
}; | |
var warnStyleValueWithSemicolon = function (name, value) { | |
if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) { | |
return; | |
} | |
warnedStyleValues[value] = true; | |
- 'production' !== "development" ? warning(false, 'Style property values shouldn\'t contain a semicolon. ' + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')) : null; | |
+ 'production' !== "development" ? warning(false, 'Style property values shouldn\'t contain a semicolon. ' + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, '')) : undefined; | |
}; | |
/** | |
* @param {string} name | |
@@ -934,9 +934,9 @@ | |
notifyAll: function () { | |
var callbacks = this._callbacks; | |
var contexts = this._contexts; | |
if (callbacks) { | |
- 'production' !== "development" ? invariant(callbacks.length === contexts.length, 'Mismatched list of contexts in callback queue') : invariant(callbacks.length === contexts.length); | |
+ !(callbacks.length === contexts.length) ? 'production' !== "development" ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : undefined; | |
this._callbacks = null; | |
this._contexts = null; | |
for (var i = 0; i < callbacks.length; i++) { | |
callbacks[i].call(contexts[i]); | |
@@ -1381,9 +1381,9 @@ | |
var updatedIndex = update.fromIndex; | |
var updatedChild = update.parentNode.childNodes[updatedIndex]; | |
var parentID = update.parentID; | |
- 'production' !== "development" ? invariant(updatedChild, 'processUpdates(): Unable to find child %s of element. This ' + 'probably means the DOM was unexpectedly mutated (e.g., by the ' + 'browser), usually due to forgetting a <tbody> when using tables, ' + 'nesting tags like <form>, <p>, or <a>, or using non-SVG elements ' + 'in an <svg> parent. Try inspecting the child nodes of the element ' + 'with React ID `%s`.', updatedIndex, parentID) : invariant(updatedChild); | |
+ !updatedChild ? 'production' !== "development" ? invariant(false, 'processUpdates(): Unable to find child %s of element. This ' + 'probably means the DOM was unexpectedly mutated (e.g., by the ' + 'browser), usually due to forgetting a <tbody> when using tables, ' + 'nesting tags like <form>, <p>, or <a>, or using non-SVG elements ' + 'in an <svg> parent. Try inspecting the child nodes of the element ' + 'with React ID `%s`.', updatedIndex, parentID) : invariant(false) : undefined; | |
initialChildren = initialChildren || {}; | |
initialChildren[parentID] = initialChildren[parentID] || []; | |
initialChildren[parentID][updatedIndex] = updatedChild; | |
@@ -1497,9 +1497,9 @@ | |
DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); | |
} | |
for (var propName in Properties) { | |
- 'production' !== "development" ? invariant(!DOMProperty.isStandardName.hasOwnProperty(propName), 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(!DOMProperty.isStandardName.hasOwnProperty(propName)); | |
+ !!DOMProperty.isStandardName.hasOwnProperty(propName) ? 'production' !== "development" ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property ' + '\'%s\' which has already been injected. You may be accidentally ' + 'injecting the same DOM property config twice, or you may be ' + 'injecting two configs that have conflicting property names.', propName) : invariant(false) : undefined; | |
DOMProperty.isStandardName[propName] = true; | |
var lowerCased = propName.toLowerCase(); | |
@@ -1535,11 +1535,11 @@ | |
DOMProperty.hasNumericValue[propName] = checkMask(propConfig, DOMPropertyInjection.HAS_NUMERIC_VALUE); | |
DOMProperty.hasPositiveNumericValue[propName] = checkMask(propConfig, DOMPropertyInjection.HAS_POSITIVE_NUMERIC_VALUE); | |
DOMProperty.hasOverloadedBooleanValue[propName] = checkMask(propConfig, DOMPropertyInjection.HAS_OVERLOADED_BOOLEAN_VALUE); | |
- 'production' !== "development" ? invariant(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName], 'DOMProperty: Cannot require using both attribute and property: %s', propName) : invariant(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName]); | |
- 'production' !== "development" ? invariant(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName], 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName]); | |
- 'production' !== "development" ? invariant(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1); | |
+ !(!DOMProperty.mustUseAttribute[propName] || !DOMProperty.mustUseProperty[propName]) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Cannot require using both attribute and property: %s', propName) : invariant(false) : undefined; | |
+ !(DOMProperty.mustUseProperty[propName] || !DOMProperty.hasSideEffects[propName]) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : undefined; | |
+ !(!!DOMProperty.hasBooleanValue[propName] + !!DOMProperty.hasNumericValue[propName] + !!DOMProperty.hasOverloadedBooleanValue[propName] <= 1) ? 'production' !== "development" ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : undefined; | |
} | |
} | |
}; | |
var defaultValueCache = {}; | |
@@ -1739,9 +1739,9 @@ | |
var standardName = DOMProperty.isCustomAttribute(lowerCasedName) ? lowerCasedName : DOMProperty.getPossibleStandardName.hasOwnProperty(lowerCasedName) ? DOMProperty.getPossibleStandardName[lowerCasedName] : null; | |
// For now, only warn when we have a suggested correction. This prevents | |
// logging too much when using transferPropsTo. | |
- 'production' !== "development" ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?', name, standardName) : null; | |
+ 'production' !== "development" ? warning(standardName == null, 'Unknown DOM property %s. Did you mean %s?', name, standardName) : undefined; | |
}; | |
} | |
/** | |
@@ -1913,14 +1913,14 @@ | |
* @return {array<DOMElement>} List of rendered nodes. | |
* @internal | |
*/ | |
dangerouslyRenderMarkup: function (markupList) { | |
- 'production' !== "development" ? invariant(ExecutionEnvironment.canUseDOM, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(ExecutionEnvironment.canUseDOM); | |
+ !ExecutionEnvironment.canUseDOM ? 'production' !== "development" ? invariant(false, 'dangerouslyRenderMarkup(...): Cannot render markup in a worker ' + 'thread. Make sure `window` and `document` are available globally ' + 'before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(false) : undefined; | |
var nodeName; | |
var markupByNodeName = {}; | |
// Group markup by `nodeName` if a wrap is necessary, else by '*'. | |
for (var i = 0; i < markupList.length; i++) { | |
- 'production' !== "development" ? invariant(markupList[i], 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(markupList[i]); | |
+ !markupList[i] ? 'production' !== "development" ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : undefined; | |
nodeName = getNodeName(markupList[i]); | |
nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; | |
markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; | |
markupByNodeName[nodeName][i] = markupList[i]; | |
@@ -1960,9 +1960,9 @@ | |
resultIndex = +renderNode.getAttribute(RESULT_INDEX_ATTR); | |
renderNode.removeAttribute(RESULT_INDEX_ATTR); | |
- 'production' !== "development" ? invariant(!resultList.hasOwnProperty(resultIndex), 'Danger: Assigning to an already-occupied result index.') : invariant(!resultList.hasOwnProperty(resultIndex)); | |
+ !!resultList.hasOwnProperty(resultIndex) ? 'production' !== "development" ? invariant(false, 'Danger: Assigning to an already-occupied result index.') : invariant(false) : undefined; | |
resultList[resultIndex] = renderNode; | |
// This should match resultList.length and markupList.length when | |
@@ -1975,11 +1975,11 @@ | |
} | |
// Although resultList was populated out of order, it should now be a dense | |
// array. | |
- 'production' !== "development" ? invariant(resultListAssignmentCount === resultList.length, 'Danger: Did not assign to every index of resultList.') : invariant(resultListAssignmentCount === resultList.length); | |
+ !(resultListAssignmentCount === resultList.length) ? 'production' !== "development" ? invariant(false, 'Danger: Did not assign to every index of resultList.') : invariant(false) : undefined; | |
- 'production' !== "development" ? invariant(resultList.length === markupList.length, 'Danger: Expected markup to render %s nodes, but rendered %s.', markupList.length, resultList.length) : invariant(resultList.length === markupList.length); | |
+ !(resultList.length === markupList.length) ? 'production' !== "development" ? invariant(false, 'Danger: Expected markup to render %s nodes, but rendered %s.', markupList.length, resultList.length) : invariant(false) : undefined; | |
return resultList; | |
}, | |
@@ -1991,11 +1991,11 @@ | |
* @param {string} markup Markup to render in place of the child node. | |
* @internal | |
*/ | |
dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) { | |
- 'production' !== "development" ? invariant(ExecutionEnvironment.canUseDOM, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a ' + 'worker thread. Make sure `window` and `document` are available ' + 'globally before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(ExecutionEnvironment.canUseDOM); | |
- 'production' !== "development" ? invariant(markup, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : invariant(markup); | |
- 'production' !== "development" ? invariant(oldChild.tagName.toLowerCase() !== 'html', 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the ' + '<html> node. This is because browser quirks make this unreliable ' + 'and/or slow. If you want to render to the root you must use ' + 'server rendering. See React.renderToString().') : invariant(oldChild.tagName.toLowerCase() !== 'html'); | |
+ !ExecutionEnvironment.canUseDOM ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a ' + 'worker thread. Make sure `window` and `document` are available ' + 'globally before requiring React when unit testing or use ' + 'React.renderToString for server rendering.') : invariant(false) : undefined; | |
+ !markup ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : invariant(false) : undefined; | |
+ !(oldChild.tagName.toLowerCase() !== 'html') ? 'production' !== "development" ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the ' + '<html> node. This is because browser quirks make this unreliable ' + 'and/or slow. If you want to render to the root you must use ' + 'server rendering. See React.renderToString().') : invariant(false) : undefined; | |
var newChild = createNodesFromMarkup(markup, emptyFunction)[0]; | |
oldChild.parentNode.replaceChild(newChild, oldChild); | |
} | |
@@ -2366,9 +2366,9 @@ | |
var InstanceHandle = null; | |
function validateInstanceHandle() { | |
var valid = InstanceHandle && InstanceHandle.traverseTwoPhase && InstanceHandle.traverseEnterLeave; | |
- 'production' !== "development" ? warning(valid, 'InstanceHandle not injected before use!') : null; | |
+ 'production' !== "development" ? warning(valid, 'InstanceHandle not injected before use!') : undefined; | |
} | |
/** | |
* This is a unified interface for event plugins to be installed and configured. | |
@@ -2447,9 +2447,9 @@ | |
* @param {string} registrationName Name of listener (e.g. `onClick`). | |
* @param {?function} listener The callback to store. | |
*/ | |
putListener: function (id, registrationName, listener) { | |
- 'production' !== "development" ? invariant(typeof listener === 'function', 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(typeof listener === 'function'); | |
+ !(typeof listener === 'function') ? 'production' !== "development" ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : undefined; | |
var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); | |
bankForRegistrationName[id] = listener; | |
@@ -2558,9 +2558,9 @@ | |
// events get enqueued while processing. | |
var processingEventQueue = eventQueue; | |
eventQueue = null; | |
forEachAccumulated(processingEventQueue, executeDispatchesAndRelease); | |
- 'production' !== "development" ? invariant(!eventQueue, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(!eventQueue); | |
+ !!eventQueue ? 'production' !== "development" ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : undefined; | |
}, | |
/** | |
* These are needed for tests only. Do not use! | |
@@ -2615,17 +2615,17 @@ | |
} | |
for (var pluginName in namesToPlugins) { | |
var PluginModule = namesToPlugins[pluginName]; | |
var pluginIndex = EventPluginOrder.indexOf(pluginName); | |
- 'production' !== "development" ? invariant(pluginIndex > -1, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(pluginIndex > -1); | |
+ !(pluginIndex > -1) ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : undefined; | |
if (EventPluginRegistry.plugins[pluginIndex]) { | |
continue; | |
} | |
- 'production' !== "development" ? invariant(PluginModule.extractEvents, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(PluginModule.extractEvents); | |
+ !PluginModule.extractEvents ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : undefined; | |
EventPluginRegistry.plugins[pluginIndex] = PluginModule; | |
var publishedEvents = PluginModule.eventTypes; | |
for (var eventName in publishedEvents) { | |
- 'production' !== "development" ? invariant(publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName), 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName)); | |
+ !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : undefined; | |
} | |
} | |
} | |
@@ -2637,9 +2637,9 @@ | |
* @return {boolean} True if the event was successfully published. | |
* @private | |
*/ | |
function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { | |
- 'production' !== "development" ? invariant(!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName), 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName)); | |
+ !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? 'production' !== "development" ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : undefined; | |
EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; | |
var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; | |
if (phasedRegistrationNames) { | |
@@ -2665,9 +2665,9 @@ | |
* @param {object} PluginModule Plugin publishing the event. | |
* @private | |
*/ | |
function publishRegistrationName(registrationName, PluginModule, eventName) { | |
- 'production' !== "development" ? invariant(!EventPluginRegistry.registrationNameModules[registrationName], 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(!EventPluginRegistry.registrationNameModules[registrationName]); | |
+ !!EventPluginRegistry.registrationNameModules[registrationName] ? 'production' !== "development" ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : undefined; | |
EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; | |
EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; | |
} | |
@@ -2707,9 +2707,9 @@ | |
* @internal | |
* @see {EventPluginHub.injection.injectEventPluginOrder} | |
*/ | |
injectEventPluginOrder: function (InjectedEventPluginOrder) { | |
- 'production' !== "development" ? invariant(!EventPluginOrder, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(!EventPluginOrder); | |
+ !!EventPluginOrder ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : undefined; | |
// Clone the ordering so it cannot be dynamically mutated. | |
EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); | |
recomputePluginOrdering(); | |
}, | |
@@ -2731,9 +2731,9 @@ | |
continue; | |
} | |
var PluginModule = injectedNamesToPlugins[pluginName]; | |
if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { | |
- 'production' !== "development" ? invariant(!namesToPlugins[pluginName], 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(!namesToPlugins[pluginName]); | |
+ !!namesToPlugins[pluginName] ? 'production' !== "development" ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : undefined; | |
namesToPlugins[pluginName] = PluginModule; | |
isOrderingDirty = true; | |
} | |
} | |
@@ -2828,9 +2828,9 @@ | |
Mount: null, | |
injectMount: function (InjectedMount) { | |
injection.Mount = InjectedMount; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(InjectedMount && InjectedMount.getNode && InjectedMount.getID, 'EventPluginUtils.injection.injectMount(...): Injected Mount ' + 'module is missing getNode or getID.') : null; | |
+ 'production' !== "development" ? warning(InjectedMount && InjectedMount.getNode && InjectedMount.getID, 'EventPluginUtils.injection.injectMount(...): Injected Mount ' + 'module is missing getNode or getID.') : undefined; | |
} | |
} | |
}; | |
@@ -2857,9 +2857,9 @@ | |
var idsIsArr = Array.isArray(dispatchIDs); | |
var IDsLen = idsIsArr ? dispatchIDs.length : dispatchIDs ? 1 : 0; | |
var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; | |
- 'production' !== "development" ? warning(idsIsArr === listenersIsArr && IDsLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : null; | |
+ 'production' !== "development" ? warning(idsIsArr === listenersIsArr && IDsLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : undefined; | |
}; | |
} | |
/** | |
@@ -2963,9 +2963,9 @@ | |
validateEventDispatches(event); | |
} | |
var dispatchListener = event._dispatchListeners; | |
var dispatchID = event._dispatchIDs; | |
- 'production' !== "development" ? invariant(!Array.isArray(dispatchListener), 'executeDirectDispatch(...): Invalid `event`.') : invariant(!Array.isArray(dispatchListener)); | |
+ !!Array.isArray(dispatchListener) ? 'production' !== "development" ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : undefined; | |
var res = dispatchListener ? dispatchListener(event, dispatchID) : null; | |
event._dispatchListeners = null; | |
event._dispatchIDs = null; | |
return res; | |
@@ -3045,9 +3045,9 @@ | |
* "dispatch" object that pairs the event with the listener. | |
*/ | |
function accumulateDirectionalDispatches(domID, upwards, event) { | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(domID, 'Dispatching id must not be null') : null; | |
+ 'production' !== "development" ? warning(domID, 'Dispatching id must not be null') : undefined; | |
} | |
var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; | |
var listener = listenerAtPhase(domID, event, phase); | |
if (listener) { | |
@@ -3532,18 +3532,18 @@ | |
'submit': true | |
}; | |
function _assertSingleLink(inputProps) { | |
- 'production' !== "development" ? invariant(inputProps.checkedLink == null || inputProps.valueLink == null, 'Cannot provide a checkedLink and a valueLink. If you want to use ' + 'checkedLink, you probably don\'t want to use valueLink and vice versa.') : invariant(inputProps.checkedLink == null || inputProps.valueLink == null); | |
+ !(inputProps.checkedLink == null || inputProps.valueLink == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use ' + 'checkedLink, you probably don\'t want to use valueLink and vice versa.') : invariant(false) : undefined; | |
} | |
function _assertValueLink(inputProps) { | |
_assertSingleLink(inputProps); | |
- 'production' !== "development" ? invariant(inputProps.value == null && inputProps.onChange == null, 'Cannot provide a valueLink and a value or onChange event. If you want ' + 'to use value or onChange, you probably don\'t want to use valueLink.') : invariant(inputProps.value == null && inputProps.onChange == null); | |
+ !(inputProps.value == null && inputProps.onChange == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want ' + 'to use value or onChange, you probably don\'t want to use valueLink.') : invariant(false) : undefined; | |
} | |
function _assertCheckedLink(inputProps) { | |
_assertSingleLink(inputProps); | |
- 'production' !== "development" ? invariant(inputProps.checked == null && inputProps.onChange == null, 'Cannot provide a checkedLink and a checked property or onChange event. ' + 'If you want to use checked or onChange, you probably don\'t want to ' + 'use checkedLink') : invariant(inputProps.checked == null && inputProps.onChange == null); | |
+ !(inputProps.checked == null && inputProps.onChange == null) ? 'production' !== "development" ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. ' + 'If you want to use checked or onChange, you probably don\'t want to ' + 'use checkedLink') : invariant(false) : undefined; | |
} | |
/** | |
* @param {SyntheticEvent} e change event to handle | |
@@ -3652,13 +3652,13 @@ | |
} | |
var LocalEventTrapMixin = { | |
trapBubbledEvent: function (topLevelType, handlerBaseName) { | |
- 'production' !== "development" ? invariant(this.isMounted(), 'Must be mounted to trap events') : invariant(this.isMounted()); | |
+ !this.isMounted() ? 'production' !== "development" ? invariant(false, 'Must be mounted to trap events') : invariant(false) : undefined; | |
// If a component renders to null or if another component fatals and causes | |
// the state of the tree to be corrupted, `node` here can be null. | |
var node = findDOMNode(this); | |
- 'production' !== "development" ? invariant(node, 'LocalEventTrapMixin.trapBubbledEvent(...): Requires node to be rendered.') : invariant(node); | |
+ !node ? 'production' !== "development" ? invariant(false, 'LocalEventTrapMixin.trapBubbledEvent(...): Requires node to be rendered.') : invariant(false) : undefined; | |
var listener = ReactBrowserEventEmitter.trapBubbledEvent(topLevelType, handlerBaseName, node); | |
this._localEventListeners = accumulateInto(this._localEventListeners, listener); | |
}, | |
@@ -3789,9 +3789,9 @@ | |
}; | |
var standardReleaser = function (instance) { | |
var Klass = this; | |
- 'production' !== "development" ? invariant(instance instanceof Klass, 'Trying to release an instance into a pool of a different type.') : invariant(instance instanceof Klass); | |
+ !(instance instanceof Klass) ? 'production' !== "development" ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : undefined; | |
if (instance.destructor) { | |
instance.destructor(); | |
} | |
if (Klass.instancePool.length < Klass.poolSize) { | |
@@ -3889,9 +3889,9 @@ | |
* @final | |
* @protected | |
*/ | |
getDOMNode: function () { | |
- 'production' !== "development" ? warning(this.constructor[didWarnKey], '%s.getDOMNode(...) is deprecated. Please use ' + 'React.findDOMNode(instance) instead.', ReactInstanceMap.get(this).getName() || this.tagName || 'Unknown') : null; | |
+ 'production' !== "development" ? warning(this.constructor[didWarnKey], '%s.getDOMNode(...) is deprecated. Please use ' + 'React.findDOMNode(instance) instead.', ReactInstanceMap.get(this).getName() || this.tagName || 'Unknown') : undefined; | |
this.constructor[didWarnKey] = true; | |
return findDOMNode(this); | |
} | |
}; | |
@@ -4284,9 +4284,9 @@ | |
var noEventListener = null; | |
if ('production' !== "development") { | |
noEventListener = function () { | |
- 'production' !== "development" ? warning(false, 'transition(): tried to perform an animation without ' + 'an animationend or transitionend event after timeout (' + '%sms). You should either disable this ' + 'transition in JS or add a CSS animation/transition.', NO_EVENT_TIMEOUT) : null; | |
+ 'production' !== "development" ? warning(false, 'transition(): tried to perform an animation without ' + 'an animationend or transitionend event after timeout (' + '%sms). You should either disable this ' + 'transition in JS or add a CSS animation/transition.', NO_EVENT_TIMEOUT) : undefined; | |
}; | |
} | |
var ReactCSSTransitionGroupChild = React.createClass({ | |
@@ -4589,9 +4589,9 @@ | |
var mapResult = bookKeeping.result; | |
var keyUnique = mapResult[name] === undefined; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(keyUnique, 'ReactChildren.map(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : null; | |
+ 'production' !== "development" ? warning(keyUnique, 'ReactChildren.map(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined; | |
} | |
if (keyUnique) { | |
var mappedChild = bookKeeping.func.call(bookKeeping.context, child, bookKeeping.count++); | |
@@ -5009,9 +5009,9 @@ | |
for (var propName in typeDef) { | |
if (typeDef.hasOwnProperty(propName)) { | |
// use a warning instead of an invariant so components | |
// don't show up in prod but not in __DEV__ | |
- 'production' !== "development" ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : null; | |
+ 'production' !== "development" ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : undefined; | |
} | |
} | |
} | |
@@ -5019,14 +5019,14 @@ | |
var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; | |
// Disallow overriding of base class methods unless explicitly allowed. | |
if (ReactClassMixin.hasOwnProperty(name)) { | |
- 'production' !== "development" ? invariant(specPolicy === SpecPolicy.OVERRIDE_BASE, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(specPolicy === SpecPolicy.OVERRIDE_BASE); | |
+ !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? 'production' !== "development" ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : undefined; | |
} | |
// Disallow defining methods more than once unless explicitly allowed. | |
if (proto.hasOwnProperty(name)) { | |
- 'production' !== "development" ? invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED); | |
+ !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? 'production' !== "development" ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : undefined; | |
} | |
} | |
/** | |
@@ -5037,10 +5037,10 @@ | |
if (!spec) { | |
return; | |
} | |
- 'production' !== "development" ? invariant(typeof spec !== 'function', 'ReactClass: You\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(typeof spec !== 'function'); | |
- 'production' !== "development" ? invariant(!ReactElement.isValidElement(spec), 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(!ReactElement.isValidElement(spec)); | |
+ !(typeof spec !== 'function') ? 'production' !== "development" ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(false) : undefined; | |
+ !!ReactElement.isValidElement(spec) ? 'production' !== "development" ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : undefined; | |
var proto = Constructor.prototype; | |
// By handling mixins before any other properties, we ensure the same | |
@@ -5085,9 +5085,9 @@ | |
if (isAlreadyDefined) { | |
var specPolicy = ReactClassInterface[name]; | |
// These cases should already be caught by validateMethodOverride. | |
- 'production' !== "development" ? invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)); | |
+ !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? 'production' !== "development" ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : undefined; | |
// For methods which are defined more than once, call the existing | |
// methods before calling the new property, merging if appropriate. | |
if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { | |
@@ -5120,12 +5120,12 @@ | |
continue; | |
} | |
var isReserved = (name in RESERVED_SPEC_KEYS); | |
- 'production' !== "development" ? invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(!isReserved); | |
+ !!isReserved ? 'production' !== "development" ? invariant(false, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(false) : undefined; | |
var isInherited = (name in Constructor); | |
- 'production' !== "development" ? invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(!isInherited); | |
+ !!isInherited ? 'production' !== "development" ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : undefined; | |
Constructor[name] = property; | |
} | |
} | |
@@ -5136,13 +5136,13 @@ | |
* @param {object} two The second object | |
* @return {object} one after it has been mutated to contain everything in two. | |
*/ | |
function mergeIntoWithNoDuplicateKeys(one, two) { | |
- 'production' !== "development" ? invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(one && two && typeof one === 'object' && typeof two === 'object'); | |
+ !(one && two && typeof one === 'object' && typeof two === 'object') ? 'production' !== "development" ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : undefined; | |
for (var key in two) { | |
if (two.hasOwnProperty(key)) { | |
- 'production' !== "development" ? invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(one[key] === undefined); | |
+ !(one[key] === undefined) ? 'production' !== "development" ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(false) : undefined; | |
one[key] = two[key]; | |
} | |
} | |
return one; | |
@@ -5211,11 +5211,11 @@ | |
// User is trying to bind() an autobound method; we effectively will | |
// ignore the value of "this" that the user is trying to use, so | |
// let's warn. | |
if (newThis !== component && newThis !== null) { | |
- 'production' !== "development" ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : null; | |
+ 'production' !== "development" ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : undefined; | |
} else if (!args.length) { | |
- 'production' !== "development" ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : null; | |
+ 'production' !== "development" ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : undefined; | |
return boundMethod; | |
} | |
var reboundMethod = _bind.apply(boundMethod, arguments); | |
reboundMethod.__reactBoundContext = component; | |
@@ -5245,9 +5245,9 @@ | |
var typeDeprecationDescriptor = { | |
enumerable: false, | |
get: function () { | |
var displayName = this.displayName || this.name || 'Component'; | |
- 'production' !== "development" ? warning(false, '%s.type is deprecated. Use %s directly to access the class.', displayName, displayName) : null; | |
+ 'production' !== "development" ? warning(false, '%s.type is deprecated. Use %s directly to access the class.', displayName, displayName) : undefined; | |
Object.defineProperty(this, 'type', { | |
value: this | |
}); | |
return this; | |
@@ -5280,9 +5280,9 @@ | |
isMounted: function () { | |
if ('production' !== "development") { | |
var owner = ReactCurrentOwner.current; | |
if (owner !== null) { | |
- 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : null; | |
+ 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined; | |
owner._warnedAboutRefsInRender = true; | |
} | |
} | |
var internalInstance = ReactInstanceMap.get(this); | |
@@ -5348,9 +5348,9 @@ | |
// This constructor is overridden by mocks. The argument is used | |
// by mocks to assert on what gets mounted. | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : null; | |
+ 'production' !== "development" ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : undefined; | |
} | |
// Wire up auto-binding | |
if (this.__reactAutoBindMap) { | |
@@ -5372,9 +5372,9 @@ | |
// deprecating this convenience. | |
initialState = null; | |
} | |
} | |
- 'production' !== "development" ? invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(typeof initialState === 'object' && !Array.isArray(initialState)); | |
+ !(typeof initialState === 'object' && !Array.isArray(initialState)) ? 'production' !== "development" ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : undefined; | |
this.state = initialState; | |
}; | |
Constructor.prototype = new ReactClassComponent(); | |
@@ -5401,12 +5401,12 @@ | |
Constructor.prototype.getInitialState.isReactClassApproved = {}; | |
} | |
} | |
- 'production' !== "development" ? invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.') : invariant(Constructor.prototype.render); | |
+ !Constructor.prototype.render ? 'production' !== "development" ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : undefined; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : null; | |
+ 'production' !== "development" ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : undefined; | |
} | |
// Reduce time spent doing lookups by setting these on the prototype. | |
for (var methodName in ReactClassInterface) { | |
@@ -5489,11 +5489,11 @@ | |
* @final | |
* @protected | |
*/ | |
ReactComponent.prototype.setState = function (partialState, callback) { | |
- 'production' !== "development" ? invariant(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null); | |
+ !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? 'production' !== "development" ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : undefined; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : null; | |
+ 'production' !== "development" ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : undefined; | |
} | |
ReactUpdateQueue.enqueueSetState(this, partialState); | |
if (callback) { | |
ReactUpdateQueue.enqueueCallback(this, callback); | |
@@ -5537,9 +5537,9 @@ | |
var defineDeprecationWarning = function (methodName, info) { | |
try { | |
Object.defineProperty(ReactComponent.prototype, methodName, { | |
get: function () { | |
- 'production' !== "development" ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : null; | |
+ 'production' !== "development" ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : undefined; | |
return undefined; | |
} | |
}); | |
} catch (x) {} | |
@@ -5636,9 +5636,9 @@ | |
processChildrenUpdates: null, | |
injection: { | |
injectEnvironment: function (environment) { | |
- 'production' !== "development" ? invariant(!injected, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : invariant(!injected); | |
+ !!injected ? 'production' !== "development" ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : invariant(false) : undefined; | |
ReactComponentEnvironment.unmountIDFromEnvironment = environment.unmountIDFromEnvironment; | |
ReactComponentEnvironment.replaceNodeWithMarkupByID = environment.replaceNodeWithMarkupByID; | |
ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates; | |
injected = true; | |
@@ -5832,9 +5832,9 @@ | |
if ('production' !== "development") { | |
// This will throw later in _renderValidatedComponent, but add an early | |
// warning now to help debugging | |
- 'production' !== "development" ? warning(inst.render != null, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render` in your ' + 'component or you may have accidentally tried to render an element ' + 'whose type is a function that isn\'t a React component.', Component.displayName || Component.name || 'Component') : null; | |
+ 'production' !== "development" ? warning(inst.render != null, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render` in your ' + 'component or you may have accidentally tried to render an element ' + 'whose type is a function that isn\'t a React component.', Component.displayName || Component.name || 'Component') : undefined; | |
} | |
// These should be set up in the constructor, but as a convenience for | |
// simpler class abstractions, we set them up after the fact. | |
@@ -5850,20 +5850,20 @@ | |
if ('production' !== "development") { | |
// Since plain JS classes are defined without any special initialization | |
// logic, we can not catch common errors early. Therefore, we have to | |
// catch them here, at initialization time, instead. | |
- 'production' !== "development" ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : null; | |
- 'production' !== "development" ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : null; | |
- 'production' !== "development" ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : null; | |
- 'production' !== "development" ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : null; | |
- 'production' !== "development" ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : null; | |
+ 'production' !== "development" ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : undefined; | |
+ 'production' !== "development" ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : undefined; | |
+ 'production' !== "development" ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : undefined; | |
+ 'production' !== "development" ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : undefined; | |
+ 'production' !== "development" ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : undefined; | |
} | |
var initialState = inst.state; | |
if (initialState === undefined) { | |
inst.state = initialState = null; | |
} | |
- 'production' !== "development" ? invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : invariant(typeof initialState === 'object' && !Array.isArray(initialState)); | |
+ !(typeof initialState === 'object' && !Array.isArray(initialState)) ? 'production' !== "development" ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined; | |
this._pendingStateQueue = null; | |
this._pendingReplaceState = false; | |
this._pendingForceUpdate = false; | |
@@ -6009,14 +6009,14 @@ | |
_processChildContext: function (currentContext) { | |
var inst = this._instance; | |
var childContext = inst.getChildContext && inst.getChildContext(); | |
if (childContext) { | |
- 'production' !== "development" ? invariant(typeof inst.constructor.childContextTypes === 'object', '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', this.getName() || 'ReactCompositeComponent') : invariant(typeof inst.constructor.childContextTypes === 'object'); | |
+ !(typeof inst.constructor.childContextTypes === 'object') ? 'production' !== "development" ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined; | |
if ('production' !== "development") { | |
this._checkPropTypes(inst.constructor.childContextTypes, childContext, ReactPropTypeLocations.childContext); | |
} | |
for (var name in childContext) { | |
- 'production' !== "development" ? invariant(name in inst.constructor.childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : invariant(name in inst.constructor.childContextTypes); | |
+ !(name in inst.constructor.childContextTypes) ? 'production' !== "development" ? invariant(false, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : invariant(false) : undefined; | |
} | |
return assign({}, currentContext, childContext); | |
} | |
return currentContext; | |
@@ -6058,9 +6058,9 @@ | |
var error; | |
try { | |
// This is intentionally an invariant that gets caught. It's the same | |
// behavior as without this statement except with a better message. | |
- 'production' !== "development" ? invariant(typeof propTypes[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually ' + 'from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(typeof propTypes[propName] === 'function'); | |
+ !(typeof propTypes[propName] === 'function') ? 'production' !== "development" ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually ' + 'from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined; | |
error = propTypes[propName](props, propName, componentName, location); | |
} catch (ex) { | |
error = ex; | |
} | |
@@ -6071,11 +6071,11 @@ | |
var addendum = getDeclarationErrorAddendum(this); | |
if (location === ReactPropTypeLocations.prop) { | |
// Preface gives us something to blacklist in warning module | |
- 'production' !== "development" ? warning(false, 'Failed Composite propType: %s%s', error.message, addendum) : null; | |
+ 'production' !== "development" ? warning(false, 'Failed Composite propType: %s%s', error.message, addendum) : undefined; | |
} else { | |
- 'production' !== "development" ? warning(false, 'Failed Context Types: %s%s', error.message, addendum) : null; | |
+ 'production' !== "development" ? warning(false, 'Failed Context Types: %s%s', error.message, addendum) : undefined; | |
} | |
} | |
} | |
} | |
@@ -6150,9 +6150,9 @@ | |
var shouldUpdate = this._pendingForceUpdate || !inst.shouldComponentUpdate || inst.shouldComponentUpdate(nextProps, nextState, nextContext); | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(typeof shouldUpdate !== 'undefined', '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : null; | |
+ 'production' !== "development" ? warning(typeof shouldUpdate !== 'undefined', '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : undefined; | |
} | |
if (shouldUpdate) { | |
this._pendingForceUpdate = false; | |
@@ -6291,11 +6291,11 @@ | |
} finally { | |
ReactContext.current = previousContext; | |
ReactCurrentOwner.current = null; | |
} | |
- 'production' !== "development" ? invariant( | |
+ !( | |
// TODO: An `isValidNode` function would probably be more appropriate | |
- renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent), '%s.render(): A valid ReactComponent must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent)); | |
+ (renderedComponent === null || renderedComponent === false || ReactElement.isValidElement(renderedComponent))) ? 'production' !== "development" ? invariant(false, '%s.render(): A valid ReactComponent must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : invariant(false) : undefined; | |
return renderedComponent; | |
}, | |
/** | |
@@ -6735,9 +6735,9 @@ | |
// If we're in IE8, check to see if we are in combatibility mode and provide | |
// information on preventing compatibility mode | |
var ieCompatibilityMode = document.documentMode && document.documentMode < 8; | |
- 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : null; | |
+ 'production' !== "development" ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : undefined; | |
var expectedFeatures = [ | |
// shims | |
Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim, | |
@@ -6825,9 +6825,9 @@ | |
} | |
styleMutationWarning[hash] = true; | |
- 'production' !== "development" ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', JSON.stringify(style1), JSON.stringify(style2)) : null; | |
+ 'production' !== "development" ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', JSON.stringify(style1), JSON.stringify(style2)) : undefined; | |
} | |
/** | |
* Optionally injectable operations for mutating the DOM | |
@@ -6843,27 +6843,27 @@ | |
} | |
// Note the use of `==` which checks for null or undefined. | |
if ('production' !== "development") { | |
if (voidElementTags[component._tag]) { | |
- 'production' !== "development" ? warning(props.children == null && props.dangerouslySetInnerHTML == null, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.', component._tag) : null; | |
+ 'production' !== "development" ? warning(props.children == null && props.dangerouslySetInnerHTML == null, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.', component._tag) : undefined; | |
} | |
} | |
if (props.dangerouslySetInnerHTML != null) { | |
- 'production' !== "development" ? invariant(props.children == null, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(props.children == null); | |
- 'production' !== "development" ? invariant(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML); | |
+ !(props.children == null) ? 'production' !== "development" ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(false) : undefined; | |
+ !(typeof props.dangerouslySetInnerHTML === 'object' && '__html' in props.dangerouslySetInnerHTML) ? 'production' !== "development" ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(false) : undefined; | |
} | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : null; | |
- 'production' !== "development" ? warning(!props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : null; | |
+ 'production' !== "development" ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : undefined; | |
+ 'production' !== "development" ? warning(!props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : undefined; | |
} | |
- 'production' !== "development" ? invariant(props.style == null || typeof props.style === 'object', 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \'em\'}} when ' + 'using JSX.') : invariant(props.style == null || typeof props.style === 'object'); | |
+ !(props.style == null || typeof props.style === 'object') ? 'production' !== "development" ? invariant(false, 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \'em\'}} when ' + 'using JSX.') : invariant(false) : undefined; | |
} | |
function enqueuePutListener(id, registrationName, listener, transaction) { | |
if ('production' !== "development") { | |
// IE8 has no API for event capturing and the `onScroll` event doesn't | |
// bubble. | |
- 'production' !== "development" ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : null; | |
+ 'production' !== "development" ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : undefined; | |
} | |
var container = ReactMount.findReactContainerForID(id); | |
if (container) { | |
var doc = container.nodeType === ELEMENT_NODE_TYPE ? container.ownerDocument : container; | |
@@ -6925,9 +6925,9 @@ | |
var hasOwnProperty = ({}).hasOwnProperty; | |
function validateDangerousTag(tag) { | |
if (!hasOwnProperty.call(validatedTagCache, tag)) { | |
- 'production' !== "development" ? invariant(VALID_TAG_REGEX.test(tag), 'Invalid tag: %s', tag) : invariant(VALID_TAG_REGEX.test(tag)); | |
+ !VALID_TAG_REGEX.test(tag) ? 'production' !== "development" ? invariant(false, 'Invalid tag: %s', tag) : invariant(false) : undefined; | |
validatedTagCache[tag] = true; | |
} | |
} | |
@@ -7395,9 +7395,9 @@ | |
* @internal | |
*/ | |
updatePropertyByID: function (id, name, value) { | |
var node = ReactMount.getNode(id); | |
- 'production' !== "development" ? invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name), 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name)); | |
+ !!INVALID_PROPERTY_ERRORS.hasOwnProperty(name) ? 'production' !== "development" ? invariant(false, 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(false) : undefined; | |
// If we're updating to null or undefined, we should remove the property | |
// from the DOM node instead of inadvertantly setting to a string. This | |
// brings us in line with the same behavior we have on initial render. | |
@@ -7417,9 +7417,9 @@ | |
* @internal | |
*/ | |
deletePropertyByID: function (id, name, value) { | |
var node = ReactMount.getNode(id); | |
- 'production' !== "development" ? invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name), 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(!INVALID_PROPERTY_ERRORS.hasOwnProperty(name)); | |
+ !!INVALID_PROPERTY_ERRORS.hasOwnProperty(name) ? 'production' !== "development" ? invariant(false, 'updatePropertyByID(...): %s', INVALID_PROPERTY_ERRORS[name]) : invariant(false) : undefined; | |
DOMPropertyOperations.deleteValueForProperty(node, name, value); | |
}, | |
/** | |
@@ -7731,11 +7731,11 @@ | |
if (otherNode === rootNode || otherNode.form !== rootNode.form) { | |
continue; | |
} | |
var otherID = ReactMount.getID(otherNode); | |
- 'production' !== "development" ? invariant(otherID, 'ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.') : invariant(otherID); | |
+ !otherID ? 'production' !== "development" ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the ' + 'same `name` is not supported.') : invariant(false) : undefined; | |
var otherInstance = instancesByReactID[otherID]; | |
- 'production' !== "development" ? invariant(otherInstance, 'ReactDOMInput: Unknown radio button ID %s.', otherID) : invariant(otherInstance); | |
+ !otherInstance ? 'production' !== "development" ? invariant(false, 'ReactDOMInput: Unknown radio button ID %s.', otherID) : invariant(false) : undefined; | |
// If this is a controlled radio button group, forcing the input that | |
// was previously checked to update will cause it to be come re-checked | |
// as appropriate. | |
ReactUpdates.asap(forceUpdateIfMounted, otherInstance); | |
@@ -7797,9 +7797,9 @@ | |
componentWillMount: function () { | |
// TODO (yungsters): Remove support for `selected` in <option>. | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(this.props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : null; | |
+ 'production' !== "development" ? warning(this.props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : undefined; | |
} | |
// Look up whether this option is 'selected' via parent-based context | |
var context = this.context; | |
@@ -7843,9 +7843,9 @@ | |
} | |
if (typeof child === 'string' || typeof child === 'number') { | |
content += child; | |
} else { | |
- 'production' !== "development" ? warning(false, 'Only strings and numbers are supported as <option> children.') : null; | |
+ 'production' !== "development" ? warning(false, 'Only strings and numbers are supported as <option> children.') : undefined; | |
} | |
}); | |
return option(props, content); | |
@@ -8453,13 +8453,13 @@ | |
// TODO (yungsters): Remove support for children content in <textarea>. | |
var children = this.props.children; | |
if (children != null) { | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : null; | |
+ 'production' !== "development" ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : undefined; | |
} | |
- 'production' !== "development" ? invariant(defaultValue == null, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : invariant(defaultValue == null); | |
+ !(defaultValue == null) ? 'production' !== "development" ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : invariant(false) : undefined; | |
if (Array.isArray(children)) { | |
- 'production' !== "development" ? invariant(children.length <= 1, '<textarea> can only have at most one child.') : invariant(children.length <= 1); | |
+ !(children.length <= 1) ? 'production' !== "development" ? invariant(false, '<textarea> can only have at most one child.') : invariant(false) : undefined; | |
children = children[0]; | |
} | |
defaultValue = '' + children; | |
@@ -8480,9 +8480,9 @@ | |
render: function () { | |
// Clone `this.props` so we don't mutate the input. | |
var props = assign({}, this.props); | |
- 'production' !== "development" ? invariant(props.dangerouslySetInnerHTML == null, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : invariant(props.dangerouslySetInnerHTML == null); | |
+ !(props.dangerouslySetInnerHTML == null) ? 'production' !== "development" ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : invariant(false) : undefined; | |
props.defaultValue = null; | |
props.value = null; | |
props.onChange = this._handleChange; | |
@@ -9206,9 +9206,9 @@ | |
return this._store[key]; | |
}, | |
set: function (value) { | |
- 'production' !== "development" ? warning(false, 'Don\'t set the %s property of the React element. Instead, ' + 'specify the correct value when initially creating the element.', key) : null; | |
+ 'production' !== "development" ? warning(false, 'Don\'t set the %s property of the React element. Instead, ' + 'specify the correct value when initially creating the element.', key) : undefined; | |
this._store[key] = value; | |
} | |
}); | |
@@ -9581,9 +9581,9 @@ | |
childOwnerAddendum = ' It was passed a child from ' + childOwnerName + '.'; | |
} | |
- 'production' !== "development" ? warning(false, message + '%s%s See https://fb.me/react-warning-keys for more information.', parentOrOwnerAddendum, childOwnerAddendum) : null; | |
+ 'production' !== "development" ? warning(false, message + '%s%s See https://fb.me/react-warning-keys for more information.', parentOrOwnerAddendum, childOwnerAddendum) : undefined; | |
} | |
/** | |
* Ensure that every element either is passed in a static location, in an | |
@@ -9647,21 +9647,21 @@ | |
// After these have been cleaned up, we'll let them throw. | |
try { | |
// This is intentionally an invariant that gets caught. It's the same | |
// behavior as without this statement except with a better message. | |
- 'production' !== "development" ? invariant(typeof propTypes[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(typeof propTypes[propName] === 'function'); | |
+ !(typeof propTypes[propName] === 'function') ? 'production' !== "development" ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : undefined; | |
error = propTypes[propName](props, propName, componentName, location); | |
} catch (ex) { | |
error = ex; | |
} | |
- 'production' !== "development" ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : null; | |
+ 'production' !== "development" ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], propName, typeof error) : undefined; | |
if (error instanceof Error && !(error.message in loggedTypeFailures)) { | |
// Only monitor this failure once because there tends to be a lot of the | |
// same error. | |
loggedTypeFailures[error.message] = true; | |
var addendum = getDeclarationErrorAddendum(); | |
- 'production' !== "development" ? warning(false, 'Failed propType: %s%s', error.message, addendum) : null; | |
+ 'production' !== "development" ? warning(false, 'Failed propType: %s%s', error.message, addendum) : undefined; | |
} | |
} | |
} | |
} | |
@@ -9693,9 +9693,9 @@ | |
if (ownerName) { | |
ownerInfo = ' The element was created by ' + ownerName + '.'; | |
} | |
- 'production' !== "development" ? warning(false, 'Don\'t set .props.%s of the React component%s. Instead, specify the ' + 'correct value when initially creating the element or use ' + 'React.cloneElement to make a new element with updated props.%s', propName, elementInfo, ownerInfo) : null; | |
+ 'production' !== "development" ? warning(false, 'Don\'t set .props.%s of the React component%s. Instead, specify the ' + 'correct value when initially creating the element or use ' + 'React.cloneElement to make a new element with updated props.%s', propName, elementInfo, ownerInfo) : undefined; | |
} | |
// Inline Object.is polyfill | |
function is(a, b) { | |
@@ -9760,9 +9760,9 @@ | |
if (componentClass.propTypes) { | |
checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); | |
} | |
if (typeof componentClass.getDefaultProps === 'function') { | |
- 'production' !== "development" ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : null; | |
+ 'production' !== "development" ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : undefined; | |
} | |
} | |
var ReactElementValidator = { | |
@@ -9771,9 +9771,9 @@ | |
createElement: function (type, props, children) { | |
// We warn in this case but don't throw. We expect the element creation to | |
// succeed and there will likely be errors in render. | |
- 'production' !== "development" ? warning(typeof type === 'string' || typeof type === 'function', 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : null; | |
+ 'production' !== "development" ? warning(typeof type === 'string' || typeof type === 'function', 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : undefined; | |
var element = ReactElement.createElement.apply(this, arguments); | |
// The result can be nullish if a mock or a custom function is used. | |
@@ -9800,9 +9800,9 @@ | |
try { | |
Object.defineProperty(validatedFactory, 'type', { | |
enumerable: false, | |
get: function () { | |
- 'production' !== "development" ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : null; | |
+ 'production' !== "development" ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : undefined; | |
Object.defineProperty(this, 'type', { | |
value: type | |
}); | |
return type; | |
@@ -9878,9 +9878,9 @@ | |
} | |
deregisterNullComponentID(internalInstance._rootNodeID); | |
}; | |
ReactEmptyComponentType.prototype.render = function () { | |
- 'production' !== "development" ? invariant(component, 'Trying to return null from a render, but no null placeholder component ' + 'was injected.') : invariant(component); | |
+ !component ? 'production' !== "development" ? invariant(false, 'Trying to return null from a render, but no null placeholder component ' + 'was injected.') : invariant(false) : undefined; | |
return component(); | |
}; | |
var emptyElement = ReactElement.createElement(ReactEmptyComponentType); | |
@@ -10196,14 +10196,14 @@ | |
var proxyPropertyAccessWithWarning = function (obj, key) { | |
Object.defineProperty(obj, key, { | |
enumerable: true, | |
get: function () { | |
- 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an opaque type. Accessing any of its ' + 'properties is deprecated. Pass it to one of the React.Children ' + 'helpers.') : null; | |
+ 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an opaque type. Accessing any of its ' + 'properties is deprecated. Pass it to one of the React.Children ' + 'helpers.') : undefined; | |
this[didWarnKey] = true; | |
return this[fragmentKey][key]; | |
}, | |
set: function (value) { | |
- 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an immutable opaque type. Mutating its ' + 'properties is deprecated.') : null; | |
+ 'production' !== "development" ? warning(this[didWarnKey], 'A ReactFragment is an immutable opaque type. Mutating its ' + 'properties is deprecated.') : undefined; | |
this[didWarnKey] = true; | |
this[fragmentKey][key] = value; | |
} | |
}); | |
@@ -10229,13 +10229,13 @@ | |
// of its properties. | |
create: function (object) { | |
if ('production' !== "development") { | |
if (typeof object !== 'object' || !object || Array.isArray(object)) { | |
- 'production' !== "development" ? warning(false, 'React.addons.createFragment only accepts a single object.', object) : null; | |
+ 'production' !== "development" ? warning(false, 'React.addons.createFragment only accepts a single object.', object) : undefined; | |
return object; | |
} | |
if (ReactElement.isValidElement(object)) { | |
- 'production' !== "development" ? warning(false, 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.') : null; | |
+ 'production' !== "development" ? warning(false, 'React.addons.createFragment does not accept a ReactElement ' + 'without a wrapper object.') : undefined; | |
return object; | |
} | |
if (canWarnForReactFragment) { | |
var proxy = {}; | |
@@ -10262,9 +10262,9 @@ | |
extract: function (fragment) { | |
if ('production' !== "development") { | |
if (canWarnForReactFragment) { | |
if (!fragment[fragmentKey]) { | |
- 'production' !== "development" ? warning(didWarnForFragment(fragment), 'Any use of a keyed object should be wrapped in ' + 'React.addons.createFragment(object) before being passed as a ' + 'child.') : null; | |
+ 'production' !== "development" ? warning(didWarnForFragment(fragment), 'Any use of a keyed object should be wrapped in ' + 'React.addons.createFragment(object) before being passed as a ' + 'child.') : undefined; | |
return fragment; | |
} | |
return fragment[fragmentKey]; | |
} | |
@@ -10556,10 +10556,10 @@ | |
* @return {string} Next ID on the path from `ancestorID` to `destinationID`. | |
* @private | |
*/ | |
function getNextDescendantID(ancestorID, destinationID) { | |
- 'production' !== "development" ? invariant(isValidID(ancestorID) && isValidID(destinationID), 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(isValidID(ancestorID) && isValidID(destinationID)); | |
- 'production' !== "development" ? invariant(isAncestorIDOf(ancestorID, destinationID), 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(isAncestorIDOf(ancestorID, destinationID)); | |
+ !(isValidID(ancestorID) && isValidID(destinationID)) ? 'production' !== "development" ? invariant(false, 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', ancestorID, destinationID) : invariant(false) : undefined; | |
+ !isAncestorIDOf(ancestorID, destinationID) ? 'production' !== "development" ? invariant(false, 'getNextDescendantID(...): React has made an invalid assumption about ' + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', ancestorID, destinationID) : invariant(false) : undefined; | |
if (ancestorID === destinationID) { | |
return ancestorID; | |
} | |
// Skip over the ancestor and the immediate separator. Traverse until we hit | |
@@ -10599,9 +10599,9 @@ | |
break; | |
} | |
} | |
var longestCommonID = oneID.substr(0, lastCommonMarkerIndex); | |
- 'production' !== "development" ? invariant(isValidID(longestCommonID), 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(isValidID(longestCommonID)); | |
+ !isValidID(longestCommonID) ? 'production' !== "development" ? invariant(false, 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', oneID, twoID, longestCommonID) : invariant(false) : undefined; | |
return longestCommonID; | |
} | |
/** | |
@@ -10618,11 +10618,11 @@ | |
*/ | |
function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) { | |
start = start || ''; | |
stop = stop || ''; | |
- 'production' !== "development" ? invariant(start !== stop, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(start !== stop); | |
+ !(start !== stop) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', start) : invariant(false) : undefined; | |
var traverseUp = isAncestorIDOf(stop, start); | |
- 'production' !== "development" ? invariant(traverseUp || isAncestorIDOf(start, stop), 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(traverseUp || isAncestorIDOf(start, stop)); | |
+ !(traverseUp || isAncestorIDOf(start, stop)) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + 'not have a parent path.', start, stop) : invariant(false) : undefined; | |
// Traverse from `start` to `stop` one depth at a time. | |
var depth = 0; | |
var traverse = traverseUp ? getParentID : getNextDescendantID; | |
for (var id = start;; id = traverse(id, stop)) { | |
@@ -10633,9 +10633,9 @@ | |
if (ret === false || id === stop) { | |
// Only break //after// visiting `stop`. | |
break; | |
} | |
- 'production' !== "development" ? invariant(depth++ < MAX_TREE_DEPTH, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop) : invariant(depth++ < MAX_TREE_DEPTH); | |
+ !(depth++ < MAX_TREE_DEPTH) ? 'production' !== "development" ? invariant(false, 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', start, stop) : invariant(false) : undefined; | |
} | |
} | |
/** | |
@@ -11150,9 +11150,9 @@ | |
if (id) { | |
if (nodeCache.hasOwnProperty(id)) { | |
var cached = nodeCache[id]; | |
if (cached !== node) { | |
- 'production' !== "development" ? invariant(!isValid(cached, id), 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', ATTR_NAME, id) : invariant(!isValid(cached, id)); | |
+ !!isValid(cached, id) ? 'production' !== "development" ? invariant(false, 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', ATTR_NAME, id) : invariant(false) : undefined; | |
nodeCache[id] = node; | |
} | |
} else { | |
@@ -11228,9 +11228,9 @@ | |
* @return {boolean} Whether the node is contained by a mounted container. | |
*/ | |
function isValid(node, id) { | |
if (node) { | |
- 'production' !== "development" ? invariant(internalGetID(node) === id, 'ReactMount: Unexpected modification of `%s`', ATTR_NAME) : invariant(internalGetID(node) === id); | |
+ !(internalGetID(node) === id) ? 'production' !== "development" ? invariant(false, 'ReactMount: Unexpected modification of `%s`', ATTR_NAME) : invariant(false) : undefined; | |
var container = ReactMount.findReactContainerForID(id); | |
if (container && containsNode(container, node)) { | |
return true; | |
@@ -11399,9 +11399,9 @@ | |
* @param {DOMElement} container container to render into | |
* @return {string} reactRoot ID prefix | |
*/ | |
_registerComponent: function (nextComponent, container) { | |
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), '_registerComponent(...): Target container is not a DOM element.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)); | |
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : invariant(false) : undefined; | |
ReactBrowserEventEmitter.ensureScrollValueMonitoring(); | |
var reactRootID = ReactMount.registerContainer(container); | |
@@ -11419,9 +11419,9 @@ | |
_renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) { | |
// Various parts of our code (such as ReactCompositeComponent's | |
// _renderValidatedComponent) assume that calls to render aren't nested; | |
// verify that that's the case. | |
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : null; | |
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined; | |
var componentInstance = instantiateReactComponent(nextElement, null); | |
var reactRootID = ReactMount._registerComponent(componentInstance, container); | |
@@ -11452,18 +11452,18 @@ | |
* @param {?function} callback function triggered on completion | |
* @return {ReactComponent} Component instance rendered in `container`. | |
*/ | |
renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) { | |
- 'production' !== "development" ? invariant(parentComponent != null && parentComponent._reactInternalInstance != null, 'parentComponent must be a valid React Component') : invariant(parentComponent != null && parentComponent._reactInternalInstance != null); | |
+ !(parentComponent != null && parentComponent._reactInternalInstance != null) ? 'production' !== "development" ? invariant(false, 'parentComponent must be a valid React Component') : invariant(false) : undefined; | |
return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback); | |
}, | |
_renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) { | |
- 'production' !== "development" ? invariant(ReactElement.isValidElement(nextElement), 'React.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing an element string, make sure to instantiate ' + 'it by passing it to React.createElement.' : typeof nextElement === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' : | |
+ !ReactElement.isValidElement(nextElement) ? 'production' !== "development" ? invariant(false, 'React.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing an element string, make sure to instantiate ' + 'it by passing it to React.createElement.' : typeof nextElement === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' : | |
// Check if it quacks like an element | |
- nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(ReactElement.isValidElement(nextElement)); | |
+ nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : invariant(false) : undefined; | |
- 'production' !== "development" ? warning(container && container.tagName !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : null; | |
+ 'production' !== "development" ? warning(container && container.tagName !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : undefined; | |
var prevComponent = instancesByReactRootID[getReactRootID(container)]; | |
if (prevComponent) { | |
@@ -11482,9 +11482,9 @@ | |
if (!containerHasReactMarkup || reactRootElement.nextSibling) { | |
var rootElementSibling = reactRootElement; | |
while (rootElementSibling) { | |
if (ReactMount.isRenderedByReact(rootElementSibling)) { | |
- 'production' !== "development" ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : null; | |
+ 'production' !== "development" ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : undefined; | |
break; | |
} | |
rootElementSibling = rootElementSibling.nextSibling; | |
@@ -11540,9 +11540,9 @@ | |
* @return {ReactComponent} Component instance rendered in the container node. | |
*/ | |
constructAndRenderComponentByID: function (constructor, props, id) { | |
var domNode = document.getElementById(id); | |
- 'production' !== "development" ? invariant(domNode, 'Tried to get element with id of "%s" but it is not present on the page.', id) : invariant(domNode); | |
+ !domNode ? 'production' !== "development" ? invariant(false, 'Tried to get element with id of "%s" but it is not present on the page.', id) : invariant(false) : undefined; | |
return ReactMount.constructAndRenderComponent(constructor, props, domNode); | |
}, | |
/** | |
@@ -11578,11 +11578,11 @@ | |
// Various parts of our code (such as ReactCompositeComponent's | |
// _renderValidatedComponent) assume that calls to render aren't nested; | |
// verify that that's the case. (Strictly speaking, unmounting won't cause a | |
// render but we still don't expect to be in a render call here.) | |
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : null; | |
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : undefined; | |
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)); | |
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : invariant(false) : undefined; | |
var reactRootID = getReactRootID(container); | |
var component = instancesByReactRootID[reactRootID]; | |
if (!component) { | |
@@ -11613,18 +11613,18 @@ | |
if (rootElement && rootElement.parentNode !== container) { | |
'production' !== "development" ? warning( | |
// Call internalGetID here because getID calls isValid which calls | |
// findReactContainerForID (this function). | |
- internalGetID(rootElement) === reactRootID, 'ReactMount: Root element ID differed from reactRootID.') : null; | |
+ internalGetID(rootElement) === reactRootID, 'ReactMount: Root element ID differed from reactRootID.') : undefined; | |
var containerChild = container.firstChild; | |
if (containerChild && reactRootID === internalGetID(containerChild)) { | |
// If the container has a new child with the same ID as the old | |
// root element, then rootElementsByReactRootID[reactRootID] is | |
// just stale and needs to be updated. The case that deserves a | |
// warning is when the container is empty. | |
rootElementsByReactRootID[reactRootID] = containerChild; | |
} else { | |
- 'production' !== "development" ? warning(false, 'ReactMount: Root element has been removed from its original ' + 'container. New container:', rootElement.parentNode) : null; | |
+ 'production' !== "development" ? warning(false, 'ReactMount: Root element has been removed from its original ' + 'container. New container:', rootElement.parentNode) : undefined; | |
} | |
} | |
} | |
@@ -11741,13 +11741,13 @@ | |
} | |
firstChildren.length = 0; | |
- 'production' !== "development" ? invariant(false, 'findComponentRoot(..., %s): Unable to find element. This probably ' + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + 'usually due to forgetting a <tbody> when using tables, nesting tags ' + 'like <form>, <p>, or <a>, or using non-SVG elements in an <svg> ' + 'parent. ' + 'Try inspecting the child nodes of the element with React ID `%s`.', targetID, ReactMount.getID(ancestorNode)) : invariant(false); | |
+ !false ? 'production' !== "development" ? invariant(false, 'findComponentRoot(..., %s): Unable to find element. This probably ' + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + 'usually due to forgetting a <tbody> when using tables, nesting tags ' + 'like <form>, <p>, or <a>, or using non-SVG elements in an <svg> ' + 'parent. ' + 'Try inspecting the child nodes of the element with React ID `%s`.', targetID, ReactMount.getID(ancestorNode)) : invariant(false) : undefined; | |
}, | |
_mountImageIntoNode: function (markup, container, shouldReuseMarkup) { | |
- 'production' !== "development" ? invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE), 'mountComponentIntoNode(...): Target container is not valid.') : invariant(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)); | |
+ !(container && (container.nodeType === ELEMENT_NODE_TYPE || container.nodeType === DOC_NODE_TYPE || container.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)) ? 'production' !== "development" ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : invariant(false) : undefined; | |
if (shouldReuseMarkup) { | |
var rootElement = getReactRootElementInContainer(container); | |
if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) { | |
@@ -11761,17 +11761,17 @@ | |
var diffIndex = firstDifferenceIndex(markup, rootMarkup); | |
var difference = ' (client) ' + markup.substring(diffIndex - 20, diffIndex + 20) + '\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20); | |
- 'production' !== "development" ? invariant(container.nodeType !== DOC_NODE_TYPE, 'You\'re trying to render a component to the document using ' + 'server rendering but the checksum was invalid. This usually ' + 'means you rendered a different component type or props on ' + 'the client from the one on the server, or your render() ' + 'methods are impure. React cannot handle this case due to ' + 'cross-browser quirks by rendering at the document root. You ' + 'should look for environment dependent code in your components ' + 'and ensure the props are the same client and server side:\n%s', difference) : invariant(container.nodeType !== DOC_NODE_TYPE); | |
+ !(container.nodeType !== DOC_NODE_TYPE) ? 'production' !== "development" ? invariant(false, 'You\'re trying to render a component to the document using ' + 'server rendering but the checksum was invalid. This usually ' + 'means you rendered a different component type or props on ' + 'the client from the one on the server, or your render() ' + 'methods are impure. React cannot handle this case due to ' + 'cross-browser quirks by rendering at the document root. You ' + 'should look for environment dependent code in your components ' + 'and ensure the props are the same client and server side:\n%s', difference) : invariant(false) : undefined; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : null; | |
+ 'production' !== "development" ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : undefined; | |
} | |
} | |
} | |
- 'production' !== "development" ? invariant(container.nodeType !== DOC_NODE_TYPE, 'You\'re trying to render a component to the document but ' + 'you didn\'t use server rendering. We can\'t do this ' + 'without using server rendering due to cross-browser quirks. ' + 'See React.renderToString() for server rendering.') : invariant(container.nodeType !== DOC_NODE_TYPE); | |
+ !(container.nodeType !== DOC_NODE_TYPE) ? 'production' !== "development" ? invariant(false, 'You\'re trying to render a component to the document but ' + 'you didn\'t use server rendering. We can\'t do this ' + 'without using server rendering due to cross-browser quirks. ' + 'See React.renderToString() for server rendering.') : invariant(false) : undefined; | |
setInnerHTML(container, markup); | |
}, | |
@@ -12303,9 +12303,9 @@ | |
* @param {ReactElement} element The element to create. | |
* @return {function} The internal class constructor function. | |
*/ | |
function createInternalComponent(element) { | |
- 'production' !== "development" ? invariant(genericComponentClass, 'There is no registered component for the tag %s', element.type) : invariant(genericComponentClass); | |
+ !genericComponentClass ? 'production' !== "development" ? invariant(false, 'There is no registered component for the tag %s', element.type) : invariant(false) : undefined; | |
return new genericComponentClass(element.type, element.props); | |
} | |
/** | |
@@ -12399,9 +12399,9 @@ | |
* @final | |
* @internal | |
*/ | |
addComponentAsRefTo: function (component, ref, owner) { | |
- 'production' !== "development" ? invariant(ReactOwner.isValidOwner(owner), 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to add a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(ReactOwner.isValidOwner(owner)); | |
+ !ReactOwner.isValidOwner(owner) ? 'production' !== "development" ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to add a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(false) : undefined; | |
owner.attachRef(ref, component); | |
}, | |
/** | |
@@ -12413,9 +12413,9 @@ | |
* @final | |
* @internal | |
*/ | |
removeComponentAsRefFrom: function (component, ref, owner) { | |
- 'production' !== "development" ? invariant(ReactOwner.isValidOwner(owner), 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to remove a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(ReactOwner.isValidOwner(owner)); | |
+ !ReactOwner.isValidOwner(owner) ? 'production' !== "development" ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + 'usually means that you\'re trying to remove a ref to a component that ' + 'doesn\'t have an owner (that is, was not created inside of another ' + 'component\'s `render` method). Try rendering this component inside of ' + 'a new top-level component which will hold the ref.') : invariant(false) : undefined; | |
// Check that `component` is still the current ref because we do not want to | |
// detach the ref if another component stole it. | |
if (owner.getPublicInstance().refs[ref] === component.getPublicInstance()) { | |
owner.detachRef(ref); | |
@@ -13380,9 +13380,9 @@ | |
* @param {ReactElement} element | |
* @return {string} the HTML markup | |
*/ | |
function renderToString(element) { | |
- 'production' !== "development" ? invariant(ReactElement.isValidElement(element), 'renderToString(): You must pass a valid ReactElement.') : invariant(ReactElement.isValidElement(element)); | |
+ !ReactElement.isValidElement(element) ? 'production' !== "development" ? invariant(false, 'renderToString(): You must pass a valid ReactElement.') : invariant(false) : undefined; | |
var transaction; | |
try { | |
var id = ReactInstanceHandles.createReactRootID(); | |
@@ -13403,9 +13403,9 @@ | |
* @return {string} the HTML markup, without the extra React ID and checksum | |
* (for generating static pages) | |
*/ | |
function renderToStaticMarkup(element) { | |
- 'production' !== "development" ? invariant(ReactElement.isValidElement(element), 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(ReactElement.isValidElement(element)); | |
+ !ReactElement.isValidElement(element) ? 'production' !== "development" ? invariant(false, 'renderToStaticMarkup(): You must pass a valid ReactElement.') : invariant(false) : undefined; | |
var transaction; | |
try { | |
var id = ReactInstanceHandles.createReactRootID(); | |
@@ -14506,17 +14506,17 @@ | |
} | |
} | |
function getInternalInstanceReadyForUpdate(publicInstance, callerName) { | |
- 'production' !== "development" ? invariant(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition ' + '(such as within `render`). Render methods should be a pure function ' + 'of props and state.', callerName) : invariant(ReactCurrentOwner.current == null); | |
+ !(ReactCurrentOwner.current == null) ? 'production' !== "development" ? invariant(false, '%s(...): Cannot update during an existing state transition ' + '(such as within `render`). Render methods should be a pure function ' + 'of props and state.', callerName) : invariant(false) : undefined; | |
var internalInstance = ReactInstanceMap.get(publicInstance); | |
if (!internalInstance) { | |
if ('production' !== "development") { | |
// Only warn when we have a callerName. Otherwise we should be silent. | |
// We're probably calling from enqueueCallback. We don't want to warn | |
// there because we already warned for the corresponding lifecycle method. | |
- 'production' !== "development" ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted ' + 'component. This is a no-op.', callerName, callerName) : null; | |
+ 'production' !== "development" ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted ' + 'component. This is a no-op.', callerName, callerName) : undefined; | |
} | |
return null; | |
} | |
@@ -14541,9 +14541,9 @@ | |
* @param {?function} callback Called after state is updated. | |
* @internal | |
*/ | |
enqueueCallback: function (publicInstance, callback) { | |
- 'production' !== "development" ? invariant(typeof callback === 'function', 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(typeof callback === 'function'); | |
+ !(typeof callback === 'function') ? 'production' !== "development" ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(false) : undefined; | |
var internalInstance = getInternalInstanceReadyForUpdate(publicInstance); | |
// Previously we would throw an error if we didn't have an internal | |
// instance. Since we want to make it a no-op instead, we mirror the same | |
@@ -14566,9 +14566,9 @@ | |
enqueueUpdate(internalInstance); | |
}, | |
enqueueCallbackInternal: function (internalInstance, callback) { | |
- 'production' !== "development" ? invariant(typeof callback === 'function', 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(typeof callback === 'function'); | |
+ !(typeof callback === 'function') ? 'production' !== "development" ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + 'isn\'t callable.') : invariant(false) : undefined; | |
if (internalInstance._pendingCallbacks) { | |
internalInstance._pendingCallbacks.push(callback); | |
} else { | |
internalInstance._pendingCallbacks = [callback]; | |
@@ -14661,9 +14661,9 @@ | |
if (!internalInstance) { | |
return; | |
} | |
- 'production' !== "development" ? invariant(internalInstance._isTopLevel, 'setProps(...): You called `setProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(internalInstance._isTopLevel); | |
+ !internalInstance._isTopLevel ? 'production' !== "development" ? invariant(false, 'setProps(...): You called `setProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined; | |
// Merge with the pending element if it exists, otherwise with existing | |
// element props. | |
var element = internalInstance._pendingElement || internalInstance._currentElement; | |
@@ -14686,9 +14686,9 @@ | |
if (!internalInstance) { | |
return; | |
} | |
- 'production' !== "development" ? invariant(internalInstance._isTopLevel, 'replaceProps(...): You called `replaceProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(internalInstance._isTopLevel); | |
+ !internalInstance._isTopLevel ? 'production' !== "development" ? invariant(false, 'replaceProps(...): You called `replaceProps` on a ' + 'component with a parent. This is an anti-pattern since props will ' + 'get reactively updated when rendered. Instead, change the owner\'s ' + '`render` method to pass the correct value as props to the component ' + 'where it is created.') : invariant(false) : undefined; | |
// Merge with the pending element if it exists, otherwise with existing | |
// element props. | |
var element = internalInstance._pendingElement || internalInstance._currentElement; | |
@@ -14736,9 +14736,9 @@ | |
var batchingStrategy = null; | |
function ensureInjected() { | |
- 'production' !== "development" ? invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy); | |
+ !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : undefined; | |
} | |
var NESTED_UPDATES = { | |
initialize: function () { | |
@@ -14816,9 +14816,9 @@ | |
} | |
function runBatchedUpdates(transaction) { | |
var len = transaction.dirtyComponentsLength; | |
- 'production' !== "development" ? invariant(len === dirtyComponents.length, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(len === dirtyComponents.length); | |
+ !(len === dirtyComponents.length) ? 'production' !== "development" ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : undefined; | |
// Since reconciling a component higher in the owner hierarchy usually (not | |
// always -- see shouldComponentUpdate()) will reconcile children, reconcile | |
// them before their children by sorting the array. | |
@@ -14880,9 +14880,9 @@ | |
// _renderValidatedComponent) assume that calls to render aren't nested; | |
// verify that that's the case. (This is called by each top-level update | |
// function, like setProps, setState, forceUpdate, etc.; creation and | |
// destruction of top-level components is guarded in ReactMount.) | |
- 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'enqueueUpdate(): Render methods should be a pure function of props ' + 'and state; triggering nested component updates from render is not ' + 'allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate.') : null; | |
+ 'production' !== "development" ? warning(ReactCurrentOwner.current == null, 'enqueueUpdate(): Render methods should be a pure function of props ' + 'and state; triggering nested component updates from render is not ' + 'allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate.') : undefined; | |
if (!batchingStrategy.isBatchingUpdates) { | |
batchingStrategy.batchedUpdates(enqueueUpdate, component); | |
return; | |
@@ -14895,23 +14895,23 @@ | |
* Enqueue a callback to be run at the end of the current batching cycle. Throws | |
* if no updates are currently being performed. | |
*/ | |
function asap(callback, context) { | |
- 'production' !== "development" ? invariant(batchingStrategy.isBatchingUpdates, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(batchingStrategy.isBatchingUpdates); | |
+ !batchingStrategy.isBatchingUpdates ? 'production' !== "development" ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : undefined; | |
asapCallbackQueue.enqueue(callback, context); | |
asapEnqueued = true; | |
} | |
var ReactUpdatesInjection = { | |
injectReconcileTransaction: function (ReconcileTransaction) { | |
- 'production' !== "development" ? invariant(ReconcileTransaction, 'ReactUpdates: must provide a reconcile transaction class') : invariant(ReconcileTransaction); | |
+ !ReconcileTransaction ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : undefined; | |
ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; | |
}, | |
injectBatchingStrategy: function (_batchingStrategy) { | |
- 'production' !== "development" ? invariant(_batchingStrategy, 'ReactUpdates: must provide a batching strategy') : invariant(_batchingStrategy); | |
- 'production' !== "development" ? invariant(typeof _batchingStrategy.batchedUpdates === 'function', 'ReactUpdates: must provide a batchedUpdates() function') : invariant(typeof _batchingStrategy.batchedUpdates === 'function'); | |
- 'production' !== "development" ? invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean', 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean'); | |
+ !_batchingStrategy ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : undefined; | |
+ !(typeof _batchingStrategy.batchedUpdates === 'function') ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : undefined; | |
+ !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? 'production' !== "development" ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : undefined; | |
batchingStrategy = _batchingStrategy; | |
} | |
}; | |
@@ -15594,9 +15594,9 @@ | |
*/ | |
executeDispatch: function (event, listener, domID) { | |
var returnValue = EventPluginUtils.executeDispatch(event, listener, domID); | |
- 'production' !== "development" ? warning(typeof returnValue !== 'boolean', 'Returning `false` from an event handler is deprecated and will be ' + 'ignored in a future release. Instead, manually call ' + 'e.stopPropagation() or e.preventDefault(), as appropriate.') : null; | |
+ 'production' !== "development" ? warning(typeof returnValue !== 'boolean', 'Returning `false` from an event handler is deprecated and will be ' + 'ignored in a future release. Instead, manually call ' + 'e.stopPropagation() or e.preventDefault(), as appropriate.') : undefined; | |
if (returnValue === false) { | |
event.stopPropagation(); | |
event.preventDefault(); | |
@@ -15686,9 +15686,9 @@ | |
case topLevelTypes.topPaste: | |
EventConstructor = SyntheticClipboardEvent; | |
break; | |
} | |
- 'production' !== "development" ? invariant(EventConstructor, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : invariant(EventConstructor); | |
+ !EventConstructor ? 'production' !== "development" ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : invariant(false) : undefined; | |
var event = EventConstructor.getPooled(dispatchConfig, topLevelTargetID, nativeEvent); | |
EventPropagators.accumulateTwoPhaseDispatches(event); | |
return event; | |
}, | |
@@ -16514,9 +16514,9 @@ | |
* Helps prevent need to bind in many cases. | |
* @return Return value from `method`. | |
*/ | |
perform: function (method, scope, a, b, c, d, e, f) { | |
- 'production' !== "development" ? invariant(!this.isInTransaction(), 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(!this.isInTransaction()); | |
+ !!this.isInTransaction() ? 'production' !== "development" ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : undefined; | |
var errorThrown; | |
var ret; | |
try { | |
this._isInTransaction = true; | |
@@ -16578,9 +16578,9 @@ | |
* (`close`rs that correspond to initializers that failed will not be | |
* invoked). | |
*/ | |
closeAll: function (startIndex) { | |
- 'production' !== "development" ? invariant(this.isInTransaction(), 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(this.isInTransaction()); | |
+ !this.isInTransaction() ? 'production' !== "development" ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : undefined; | |
var transactionWrappers = this.transactionWrappers; | |
for (var i = startIndex; i < transactionWrappers.length; i++) { | |
var wrapper = transactionWrappers[i]; | |
var initData = this.wrapperInitData[i]; | |
@@ -16680,9 +16680,9 @@ | |
* @return {*|array<*>} An accumulation of items. | |
*/ | |
function accumulateInto(current, next) { | |
- 'production' !== "development" ? invariant(next != null, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(next != null); | |
+ !(next != null) ? 'production' !== "development" ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : undefined; | |
if (current == null) { | |
return next; | |
} | |
@@ -16848,9 +16848,9 @@ | |
* @return {ReactElement} a clone of child with props merged in. | |
*/ | |
function cloneWithProps(child, props) { | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(!child.ref, 'You are calling cloneWithProps() on a child with a ref. This is ' + 'dangerous because you\'re creating a new child which will not be ' + 'added as a ref to its parent.') : null; | |
+ 'production' !== "development" ? warning(!child.ref, 'You are calling cloneWithProps() on a child with a ref. This is ' + 'dangerous because you\'re creating a new child which will not be ' + 'added as a ref to its parent.') : undefined; | |
} | |
var newProps = ReactPropTransferer.mergeProps(props, child.props); | |
@@ -17046,9 +17046,9 @@ | |
tagName: tag.toUpperCase(), | |
displayName: 'ReactFullPageComponent' + tag, | |
componentWillUnmount: function () { | |
- 'production' !== "development" ? invariant(false, '%s tried to unmount. Because of cross-browser quirks it is ' + 'impossible to unmount some top-level components (eg <html>, <head>, ' + 'and <body>) reliably and efficiently. To fix this, have a single ' + 'top-level component that never unmounts render these elements.', this.constructor.displayName) : invariant(false); | |
+ !false ? 'production' !== "development" ? invariant(false, '%s tried to unmount. Because of cross-browser quirks it is ' + 'impossible to unmount some top-level components (eg <html>, <head>, ' + 'and <body>) reliably and efficiently. To fix this, have a single ' + 'top-level component that never unmounts render these elements.', this.constructor.displayName) : invariant(false) : undefined; | |
}, | |
render: function () { | |
return elementFactory(this.props); | |
@@ -17114,9 +17114,9 @@ | |
* @return {array<DOMElement|DOMTextNode>} An array of rendered nodes. | |
*/ | |
function createNodesFromMarkup(markup, handleScript) { | |
var node = dummyNode; | |
- 'production' !== "development" ? invariant(!!dummyNode, 'createNodesFromMarkup dummy not initialized') : invariant(!!dummyNode); | |
+ !!!dummyNode ? 'production' !== "development" ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : undefined; | |
var nodeName = getNodeName(markup); | |
var wrap = nodeName && getMarkupWrap(nodeName); | |
if (wrap) { | |
@@ -17131,9 +17131,9 @@ | |
} | |
var scripts = node.getElementsByTagName('script'); | |
if (scripts.length) { | |
- 'production' !== "development" ? invariant(handleScript, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(handleScript); | |
+ !handleScript ? 'production' !== "development" ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : undefined; | |
createArrayFromMixed(scripts).forEach(handleScript); | |
} | |
var nodes = createArrayFromMixed(node.childNodes); | |
@@ -17331,9 +17331,9 @@ | |
function findDOMNode(componentOrElement) { | |
if ('production' !== "development") { | |
var owner = ReactCurrentOwner.current; | |
if (owner !== null) { | |
- 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing getDOMNode or findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : null; | |
+ 'production' !== "development" ? warning(owner._warnedAboutRefsInRender, '%s is accessing getDOMNode or findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : undefined; | |
owner._warnedAboutRefsInRender = true; | |
} | |
} | |
if (componentOrElement == null) { | |
@@ -17344,10 +17344,10 @@ | |
} | |
if (ReactInstanceMap.has(componentOrElement)) { | |
return ReactMount.getNodeFromInstance(componentOrElement); | |
} | |
- 'production' !== "development" ? invariant(componentOrElement.render == null || typeof componentOrElement.render !== 'function', 'Component (with keys: %s) contains `render` method ' + 'but is not mounted in the DOM', Object.keys(componentOrElement)) : invariant(componentOrElement.render == null || typeof componentOrElement.render !== 'function'); | |
- 'production' !== "development" ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false); | |
+ !(componentOrElement.render == null || typeof componentOrElement.render !== 'function') ? 'production' !== "development" ? invariant(false, 'Component (with keys: %s) contains `render` method ' + 'but is not mounted in the DOM', Object.keys(componentOrElement)) : invariant(false) : undefined; | |
+ !false ? 'production' !== "development" ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : invariant(false) : undefined; | |
} | |
module.exports = findDOMNode; | |
},{"149":149,"151":151,"173":173,"44":44,"74":74,"79":79}],133:[function(_dereq_,module,exports){ | |
@@ -17376,9 +17376,9 @@ | |
// We found a component instance. | |
var result = traverseContext; | |
var keyUnique = result[name] === undefined; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : null; | |
+ 'production' !== "development" ? warning(keyUnique, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.', name) : undefined; | |
} | |
if (keyUnique && child != null) { | |
result[name] = child; | |
} | |
@@ -17857,9 +17857,9 @@ | |
* @param {string} nodeName Lowercase `nodeName`. | |
* @return {?array} Markup wrap configuration, if applicable. | |
*/ | |
function getMarkupWrap(nodeName) { | |
- 'production' !== "development" ? invariant(!!dummyNode, 'Markup wrapping node not initialized') : invariant(!!dummyNode); | |
+ !!!dummyNode ? 'production' !== "development" ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : undefined; | |
if (!markupWrap.hasOwnProperty(nodeName)) { | |
nodeName = '*'; | |
} | |
if (!shouldWrap.hasOwnProperty(nodeName)) { | |
@@ -18152,9 +18152,9 @@ | |
if (typeof node === 'object') { | |
var element = node; | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(element && (typeof element.type === 'function' || typeof element.type === 'string'), 'Only functions or strings can be mounted as React components.') : null; | |
+ 'production' !== "development" ? warning(element && (typeof element.type === 'function' || typeof element.type === 'string'), 'Only functions or strings can be mounted as React components.') : undefined; | |
} | |
// Special case string values | |
if (parentCompositeType === element.type && typeof element.type === 'string') { | |
@@ -18172,13 +18172,13 @@ | |
} | |
} else if (typeof node === 'string' || typeof node === 'number') { | |
instance = ReactNativeComponent.createInstanceForText(node); | |
} else { | |
- 'production' !== "development" ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false); | |
+ !false ? 'production' !== "development" ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : invariant(false) : undefined; | |
} | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : null; | |
+ 'production' !== "development" ? warning(typeof instance.construct === 'function' && typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : undefined; | |
} | |
// Sets up the instance. This can probably just move into the constructor now. | |
instance.construct(node); | |
@@ -18484,9 +18484,9 @@ | |
*/ | |
var keyMirror = function (obj) { | |
var ret = {}; | |
var key; | |
- 'production' !== "development" ? invariant(obj instanceof Object && !Array.isArray(obj), 'keyMirror(...): Argument must be an object.') : invariant(obj instanceof Object && !Array.isArray(obj)); | |
+ !(obj instanceof Object && !Array.isArray(obj)) ? 'production' !== "development" ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : undefined; | |
for (key in obj) { | |
if (!obj.hasOwnProperty(key)) { | |
continue; | |
} | |
@@ -18644,9 +18644,9 @@ | |
* @return {ReactComponent} The first and only `ReactComponent` contained in the | |
* structure. | |
*/ | |
function onlyChild(children) { | |
- 'production' !== "development" ? invariant(ReactElement.isValidElement(children), 'onlyChild must be passed a children with exactly one child.') : invariant(ReactElement.isValidElement(children)); | |
+ !ReactElement.isValidElement(children) ? 'production' !== "development" ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : undefined; | |
return children; | |
} | |
module.exports = onlyChild; | |
@@ -19023,13 +19023,13 @@ | |
var length = obj.length; | |
// Some browse builtin objects can report typeof 'function' (e.g. NodeList in | |
// old versions of Safari). | |
- 'production' !== "development" ? invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function'), 'toArray: Array-like object expected') : invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')); | |
+ !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? 'production' !== "development" ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : undefined; | |
- 'production' !== "development" ? invariant(typeof length === 'number', 'toArray: Object needs a length property') : invariant(typeof length === 'number'); | |
+ !(typeof length === 'number') ? 'production' !== "development" ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : undefined; | |
- 'production' !== "development" ? invariant(length === 0 || length - 1 in obj, 'toArray: Object should have keys for indices') : invariant(length === 0 || length - 1 in obj); | |
+ !(length === 0 || length - 1 in obj) ? 'production' !== "development" ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : undefined; | |
// Old IE doesn't give collections access to hasOwnProperty. Assume inputs | |
// without method will throw during the slice call and skip straight to the | |
// fallback. | |
@@ -19179,9 +19179,9 @@ | |
subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); | |
} | |
} else { | |
if ('production' !== "development") { | |
- 'production' !== "development" ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : null; | |
+ 'production' !== "development" ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : undefined; | |
didWarnAboutMaps = true; | |
} | |
// Iterator will provide entry [k,v] tuples rather than values. | |
while (!(step = iterator.next()).done) { | |
@@ -19193,9 +19193,9 @@ | |
} | |
} | |
} | |
} else if (type === 'object') { | |
- 'production' !== "development" ? invariant(children.nodeType !== 1, 'traverseAllChildren(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.') : invariant(children.nodeType !== 1); | |
+ !(children.nodeType !== 1) ? 'production' !== "development" ? invariant(false, 'traverseAllChildren(...): Encountered an invalid child; DOM ' + 'elements are not valid children of React components.') : invariant(false) : undefined; | |
var fragment = ReactFragment.extract(children); | |
for (var key in fragment) { | |
if (fragment.hasOwnProperty(key)) { | |
child = fragment[key]; | |
@@ -19280,28 +19280,28 @@ | |
ALL_COMMANDS_SET[command] = true; | |
}); | |
function invariantArrayCase(value, spec, command) { | |
- 'production' !== "development" ? invariant(Array.isArray(value), 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(Array.isArray(value)); | |
+ !Array.isArray(value) ? 'production' !== "development" ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : undefined; | |
var specValue = spec[command]; | |
- 'production' !== "development" ? invariant(Array.isArray(specValue), 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(Array.isArray(specValue)); | |
+ !Array.isArray(specValue) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : undefined; | |
} | |
function update(value, spec) { | |
- 'production' !== "development" ? invariant(typeof spec === 'object', 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(typeof spec === 'object'); | |
+ !(typeof spec === 'object') ? 'production' !== "development" ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : undefined; | |
if (hasOwnProperty.call(spec, COMMAND_SET)) { | |
- 'production' !== "development" ? invariant(Object.keys(spec).length === 1, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(Object.keys(spec).length === 1); | |
+ !(Object.keys(spec).length === 1) ? 'production' !== "development" ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : undefined; | |
return spec[COMMAND_SET]; | |
} | |
var nextValue = shallowCopy(value); | |
if (hasOwnProperty.call(spec, COMMAND_MERGE)) { | |
var mergeObj = spec[COMMAND_MERGE]; | |
- 'production' !== "development" ? invariant(mergeObj && typeof mergeObj === 'object', 'update(): %s expects a spec of type \'object\'; got %s', COMMAND_MERGE, mergeObj) : invariant(mergeObj && typeof mergeObj === 'object'); | |
- 'production' !== "development" ? invariant(nextValue && typeof nextValue === 'object', 'update(): %s expects a target of type \'object\'; got %s', COMMAND_MERGE, nextValue) : invariant(nextValue && typeof nextValue === 'object'); | |
+ !(mergeObj && typeof mergeObj === 'object') ? 'production' !== "development" ? invariant(false, 'update(): %s expects a spec of type \'object\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : undefined; | |
+ !(nextValue && typeof nextValue === 'object') ? 'production' !== "development" ? invariant(false, 'update(): %s expects a target of type \'object\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : undefined; | |
assign(nextValue, spec[COMMAND_MERGE]); | |
} | |
if (hasOwnProperty.call(spec, COMMAND_PUSH)) { | |
@@ -19318,18 +19318,18 @@ | |
}); | |
} | |
if (hasOwnProperty.call(spec, COMMAND_SPLICE)) { | |
- 'production' !== "development" ? invariant(Array.isArray(value), 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(Array.isArray(value)); | |
- 'production' !== "development" ? invariant(Array.isArray(spec[COMMAND_SPLICE]), 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(Array.isArray(spec[COMMAND_SPLICE])); | |
+ !Array.isArray(value) ? 'production' !== "development" ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : undefined; | |
+ !Array.isArray(spec[COMMAND_SPLICE]) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined; | |
spec[COMMAND_SPLICE].forEach(function (args) { | |
- 'production' !== "development" ? invariant(Array.isArray(args), 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(Array.isArray(args)); | |
+ !Array.isArray(args) ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined; | |
nextValue.splice.apply(nextValue, args); | |
}); | |
} | |
if (hasOwnProperty.call(spec, COMMAND_APPLY)) { | |
- 'production' !== "development" ? invariant(typeof spec[COMMAND_APPLY] === 'function', 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(typeof spec[COMMAND_APPLY] === 'function'); | |
+ !(typeof spec[COMMAND_APPLY] === 'function') ? 'production' !== "development" ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : undefined; | |
nextValue = spec[COMMAND_APPLY](nextValue); | |
} | |
for (var k in spec) { | |
@@ -19676,11 +19676,11 @@ | |
var info = ''; | |
if (ancestorTag === 'table' && childTag === 'tr') { | |
info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.'; | |
} | |
- 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : null; | |
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a child of <%s>. ' + 'See %s.%s', childTag, ancestorTag, ownerInfo, info) : undefined; | |
} else { | |
- 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : null; | |
+ 'production' !== "development" ? warning(false, 'validateDOMNesting(...): <%s> cannot appear as a descendant of ' + '<%s>. See %s.', childTag, ancestorTag, ownerInfo) : undefined; | |
} | |
} | |
}; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment