yeet
This commit is contained in:
144
node_modules/react-native-web/dist/vendor/react-dom/warnValidStyle/index.js
generated
vendored
Normal file
144
node_modules/react-native-web/dist/vendor/react-dom/warnValidStyle/index.js
generated
vendored
Normal file
@ -0,0 +1,144 @@
|
||||
/* eslint-disable */
|
||||
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* From React 16.0.0
|
||||
*
|
||||
*/
|
||||
var emptyFunction = require('fbjs/lib/emptyFunction');
|
||||
|
||||
var warnValidStyle = emptyFunction;
|
||||
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
var getComponentName = function getComponentName(instanceOrFiber) {
|
||||
if (typeof instanceOrFiber.getName === 'function') {
|
||||
// Stack reconciler
|
||||
var instance = instanceOrFiber;
|
||||
return instance.getName();
|
||||
}
|
||||
|
||||
if (typeof instanceOrFiber.tag === 'number') {
|
||||
// Fiber reconciler
|
||||
var fiber = instanceOrFiber;
|
||||
var type = fiber.type;
|
||||
|
||||
if (typeof type === 'string') {
|
||||
return type;
|
||||
}
|
||||
|
||||
if (typeof type === 'function') {
|
||||
return type.displayName || type.name;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}; // 'msTransform' is correct, but the other prefixes should be capitalized
|
||||
|
||||
|
||||
var camelizeStyleName = require('fbjs/lib/camelizeStyleName');
|
||||
|
||||
var warning = require('fbjs/lib/warning');
|
||||
|
||||
var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; // style values shouldn't contain a semicolon
|
||||
|
||||
var badStyleValueWithSemicolonPattern = /;\s*$/;
|
||||
var warnedStyleNames = {};
|
||||
var warnedStyleValues = {};
|
||||
var warnedForNaNValue = false;
|
||||
var warnedForInfinityValue = false;
|
||||
|
||||
var warnHyphenatedStyleName = function warnHyphenatedStyleName(name, owner) {
|
||||
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
||||
return;
|
||||
}
|
||||
|
||||
warnedStyleNames[name] = true;
|
||||
warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner));
|
||||
};
|
||||
|
||||
var warnBadVendoredStyleName = function warnBadVendoredStyleName(name, owner) {
|
||||
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
||||
return;
|
||||
}
|
||||
|
||||
warnedStyleNames[name] = true;
|
||||
warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner));
|
||||
};
|
||||
|
||||
var warnStyleValueWithSemicolon = function warnStyleValueWithSemicolon(name, value, owner) {
|
||||
if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
|
||||
return;
|
||||
}
|
||||
|
||||
warnedStyleValues[value] = true;
|
||||
warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, ''));
|
||||
};
|
||||
|
||||
var warnStyleValueIsNaN = function warnStyleValueIsNaN(name, value, owner) {
|
||||
if (warnedForNaNValue) {
|
||||
return;
|
||||
}
|
||||
|
||||
warnedForNaNValue = true;
|
||||
warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner));
|
||||
};
|
||||
|
||||
var warnStyleValueIsInfinity = function warnStyleValueIsInfinity(name, value, owner) {
|
||||
if (warnedForInfinityValue) {
|
||||
return;
|
||||
}
|
||||
|
||||
warnedForInfinityValue = true;
|
||||
warning(false, '`Infinity` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner));
|
||||
};
|
||||
|
||||
var checkRenderMessage = function checkRenderMessage(owner) {
|
||||
var ownerName;
|
||||
|
||||
if (owner != null) {
|
||||
// Stack passes the owner manually all the way to CSSPropertyOperations.
|
||||
ownerName = getComponentName(owner);
|
||||
} else {// Fiber doesn't pass it but uses ReactDebugCurrentFiber to track it.
|
||||
// It is only enabled in development and tracks host components too.
|
||||
// var {getCurrentFiberOwnerName} = require('ReactDebugCurrentFiber');
|
||||
// ownerName = getCurrentFiberOwnerName();
|
||||
// TODO: also report the stack.
|
||||
}
|
||||
|
||||
if (ownerName) {
|
||||
return '\n\nCheck the render method of `' + ownerName + '`.';
|
||||
}
|
||||
|
||||
return '';
|
||||
};
|
||||
|
||||
warnValidStyle = function warnValidStyle(name, value, component) {
|
||||
var owner;
|
||||
|
||||
if (component) {// TODO: this only works with Stack. Seems like we need to add unit tests?
|
||||
// owner = component._currentElement._owner;
|
||||
}
|
||||
|
||||
if (name.indexOf('-') > -1) {
|
||||
warnHyphenatedStyleName(name, owner);
|
||||
} else if (badVendoredStyleNamePattern.test(name)) {
|
||||
warnBadVendoredStyleName(name, owner);
|
||||
} else if (badStyleValueWithSemicolonPattern.test(value)) {
|
||||
warnStyleValueWithSemicolon(name, value, owner);
|
||||
}
|
||||
|
||||
if (typeof value === 'number') {
|
||||
if (isNaN(value)) {
|
||||
warnStyleValueIsNaN(name, value, owner);
|
||||
} else if (!isFinite(value)) {
|
||||
warnStyleValueIsInfinity(name, value, owner);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default warnValidStyle;
|
Reference in New Issue
Block a user