UNPKG

react-native-reanimated

Version:

More powerful alternative to Animated library for React Native.

32 lines (30 loc) 1.08 kB
'use strict'; import { CSSKeyframesRuleImpl } from '../platform'; import { isCSSKeyframesRule } from "../utils/index.js"; function parseAnimationName(animationName) { if (typeof animationName !== 'object') { return; } const keyframesArray = Array.isArray(animationName) ? animationName : [animationName]; return keyframesArray.map(keyframes => isCSSKeyframesRule(keyframes) ? keyframes : // `CSSStyle` defaults to the `DefaultStyle` union, so a bare // `animationName` is a union of per-style keyframes. Pin the type // argument so inference doesn't collapse it to a single style type. new CSSKeyframesRuleImpl(keyframes)); } export const create = styles => { // TODO - implement more optimizations and correctness checks in dev here for (const key in styles) { const style = styles[key]; if (style.animationName) { style.animationName = parseAnimationName(style.animationName); } } if (__DEV__) { for (const key in styles) { Object.freeze(styles[key]); } } return styles; }; //# sourceMappingURL=stylesheet.js.map