(attributeName)
| 4029 | var validatedAttributeNameCache = {}; |
| 4030 | |
| 4031 | function isAttributeNameSafe(attributeName) { |
| 4032 | if (validatedAttributeNameCache.hasOwnProperty(attributeName)) { |
| 4033 | return true; |
| 4034 | } |
| 4035 | if (illegalAttributeNameCache.hasOwnProperty(attributeName)) { |
| 4036 | return false; |
| 4037 | } |
| 4038 | if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { |
| 4039 | validatedAttributeNameCache[attributeName] = true; |
| 4040 | return true; |
| 4041 | } |
| 4042 | illegalAttributeNameCache[attributeName] = true; |
| 4043 | { |
| 4044 | warning(false, 'Invalid attribute name: `%s`', attributeName); |
| 4045 | } |
| 4046 | return false; |
| 4047 | } |
| 4048 | |
| 4049 | function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { |
| 4050 | if (propertyInfo !== null) { |
no test coverage detected