// Metro module 8608 (f8609). import { Children, cloneElement } from "react"; import { processColor } from "react-native"; import extractOpacity from "./extractOpacity"; import Module8609 from "./Module8609"; import extractTransform from "./extractTransform"; let c5576_5 = /^([+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)(%?)$/; const offsetComparator = (a0, a1) => a0[0] - a1[0]; export default function extractGradient(a0, parent) { let r1, r34; const { id, children } = a0; let gradientTransform = a0.gradientTransform; const { transform, gradientUnits } = a0; if (id) { const children2 = children ? Children.map(children, (a0) => cloneElement(a0, { parent })) : []; const r44 = []; const length = children2.length; const r12 = 0 < length; let r0 = 0; if (r12) { do { const props = children2[r0].props; const style = props.style; let offset = props.offset; const r6 = r0; if (offset === void 0) { offset = style ? style.offset : style; } const { stopColor = (style ? style.stopColor : style) || "#000", stopOpacity = style && style.stopOpacity } = props; const r52 = offset || 0; L35: { r34 = r52; if (typeof r34 !== "number") { if (typeof r52 === "object" && typeof r52.__getAnimatedValue === "function") { r34 = r52.__getAnimatedValue(); break L35; } const r54 = typeof r52 === "string" ? r52.match(c5576_5) : typeof r52 === "string"; if (r54) { const r61 = r54[2]; const r3 = +r54[1]; r1 = r61 ? r3 / 100 : r3; } else { console.warn(`"${r52}" is not a valid number or percentage string.`); r1 = 0; } r34 = r1; } } const r64 = stopColor && processColor(stopColor); if (typeof r64 === "number" && !isNaN(r34)) { r44.push([r34, 16777215 & r64 | Math.round(255 * extractOpacity(stopOpacity)) << 24]); } else { console.warn(`"${stopColor}" is not a valid color or "${offset}" is not a valid offset`); } r0 = r6 + 1; } while (r0 < length); } r44.sort(offsetComparator); const gradient = []; const length2 = r44.length; const r94 = 0 < length2; let r95 = 0; if (r94) { do { const r96 = r44[r95]; gradient.push(r96[0], r96[1]); r95 = r95 + 1; } while (r95 < length2); } const gradientUnits2 = gradientUnits && Module8609[gradientUnits] || 0; if (!gradientTransform) { gradientTransform = transform; } if (!gradientTransform) { gradientTransform = a0; } return { name: id, gradient, children: children2, gradientUnits: gradientUnits2, gradientTransform: extractTransform(gradientTransform) }; } return null; };