UNPKG

react-native-web-internals

Version:

React Native for Web

51 lines (50 loc) 1.59 kB
const invalidShortforms = { background: !0, borderBottom: !0, borderLeft: !0, borderRight: !0, borderTop: !0, font: !0, grid: !0, outline: !0, textDecoration: !0 }, invalidMultiValueShortforms = { flex: !0, margin: !0, padding: !0, borderColor: !0, borderRadius: !0, borderStyle: !0, borderWidth: !0, marginHorizontal: !0, marginVertical: !0, paddingHorizontal: !0, paddingVertical: !0, overflow: !0, overscrollBehavior: !0, backgroundPosition: !0 }; function error(message) { console.error(message); } function validate(obj) { for (const k in obj) { const prop = k.trim(), value = obj[prop]; let isInvalid = !1; if (value !== null) { if (typeof value == "string" && value.indexOf("!important") > -1) error( `Invalid style declaration "${prop}:${value}". Values cannot include "!important"` ), isInvalid = !0; else { let suggestion = ""; prop === "animation" || prop === "animationName" ? (suggestion = 'Did you mean "animationKeyframes"?', isInvalid = !0) : prop === "direction" ? (suggestion = 'Did you mean "writingDirection"?', isInvalid = !0) : prop === "verticalAlign" ? (suggestion = 'Did you mean "textAlignVertical"?', isInvalid = !0) : invalidShortforms[prop] ? (suggestion = "Please use long-form properties.", isInvalid = !0) : invalidMultiValueShortforms[prop], suggestion !== "" && error(`Invalid style property of "${prop}". ${suggestion}`); } isInvalid && delete obj[k]; } } } export { validate }; //# sourceMappingURL=validate.js.map