From c7ed29b33ad4ec22e28e41185bcad73351f964be Mon Sep 17 00:00:00 2001 From: Mikael Sand Date: Tue, 8 Jan 2019 22:53:03 +0200 Subject: [PATCH] Simplify id/url regex matching. Allow mask/clipPath without url prefix. Remove redundant variables. Unify use of newlines. --- elements/Ellipse.js | 1 - elements/G.js | 1 - elements/Image.js | 7 ++----- elements/Mask.js | 6 +----- elements/Path.js | 1 - elements/Pattern.js | 6 +----- elements/Symbol.js | 1 - elements/Text.js | 1 - elements/TextPath.js | 7 +++---- elements/Use.js | 6 +++--- lib/extract/extractBrush.js | 5 +++-- lib/extract/extractClipPath.js | 4 ++-- lib/extract/extractGradient.js | 4 +--- lib/extract/extractProps.js | 4 ++-- lib/extract/patternReg.js | 1 - lib/util.js | 2 ++ 16 files changed, 20 insertions(+), 37 deletions(-) delete mode 100644 lib/extract/patternReg.js diff --git a/elements/Ellipse.js b/elements/Ellipse.js index 4e9668a3..2a691c2f 100644 --- a/elements/Ellipse.js +++ b/elements/Ellipse.js @@ -20,7 +20,6 @@ export default class extends Shape { render() { const { props } = this; const { cx, cy, rx, ry } = props; - return ( { diff --git a/elements/G.js b/elements/G.js index 490a52c3..4071b118 100644 --- a/elements/G.js +++ b/elements/G.js @@ -18,7 +18,6 @@ export default class extends Shape { render() { const { props } = this; - return ( { @@ -38,8 +35,8 @@ export default class extends Shape { y={y} width={width} height={height} - meetOrSlice={meetOrSlice} - align={align} + meetOrSlice={meetOrSliceTypes[modes[1]] || 0} + align={alignEnum[modes[0]] || "xMidYMid"} src={Image.resolveAssetSource(href)} /> ); diff --git a/elements/Mask.js b/elements/Mask.js index 66ffad78..a5b21bcf 100644 --- a/elements/Mask.js +++ b/elements/Mask.js @@ -24,9 +24,6 @@ export default class extends Component { maskContentUnits, children, } = props; - - const extractedTransform = extractTransform(maskTransform || transform || props); - return ( { @@ -37,8 +34,7 @@ export default class extends Component { y={y} width={width} height={height} - matrix={extractedTransform} - maskTransform={extractedTransform} + maskTransform={extractTransform(maskTransform || transform || props)} maskUnits={maskUnits !== undefined ? units[maskUnits] : 0} maskContentUnits={ maskContentUnits !== undefined ? units[maskContentUnits] : 1 diff --git a/elements/Path.js b/elements/Path.js index 812ab485..6d640cca 100644 --- a/elements/Path.js +++ b/elements/Path.js @@ -12,7 +12,6 @@ export default class extends Shape { render() { const { props } = this; - return ( { diff --git a/elements/Pattern.js b/elements/Pattern.js index fd0cab6a..1280cfb0 100644 --- a/elements/Pattern.js +++ b/elements/Pattern.js @@ -27,9 +27,6 @@ export default class extends Component { viewBox, preserveAspectRatio, } = props; - - const extractedTransform = extractTransform(patternTransform || transform || props); - return ( { @@ -40,8 +37,7 @@ export default class extends Component { y={y} width={width} height={height} - matrix={extractedTransform} - patternTransform={extractedTransform} + patternTransform={extractTransform(patternTransform || transform || props)} patternUnits={units[patternUnits] || 0} patternContentUnits={ patternContentUnits ? units[patternContentUnits] : 1 diff --git a/elements/Symbol.js b/elements/Symbol.js index 805684ac..1cdfde95 100644 --- a/elements/Symbol.js +++ b/elements/Symbol.js @@ -8,7 +8,6 @@ export default class extends Component { render() { const { props } = this; const { id, children } = props; - return ( {children} diff --git a/elements/Text.js b/elements/Text.js index 4df4de8e..ac08aadd 100644 --- a/elements/Text.js +++ b/elements/Text.js @@ -24,7 +24,6 @@ export default class extends Shape { render() { const props = this.props; - return ( { diff --git a/elements/TextPath.js b/elements/TextPath.js index 1da703be..b15acf9c 100644 --- a/elements/TextPath.js +++ b/elements/TextPath.js @@ -2,11 +2,10 @@ import React from "react"; import { requireNativeComponent } from "react-native"; import extractText from "../lib/extract/extractText"; import extractProps from "../lib/extract/extractProps"; +import { idPattern } from "../lib/util"; import Shape from "./Shape"; import TSpan from "./TSpan"; -const idExpReg = /^#(.+)$/; - export default class extends Shape { static displayName = "TextPath"; @@ -22,9 +21,9 @@ export default class extends Shape { midLine, ...props } = this.props; - const matched = href && href.match(idExpReg); + const matched = href && href.match(idPattern); const match = matched && matched[1]; - if (href && match) { + if (match) { return (