Fix linting, make Polygon and Polyline extend Shape

This commit is contained in:
Mikael Sand
2018-10-10 20:22:51 +03:00
parent 4f5c226ef8
commit 5fdcdf6fc3
9 changed files with 50 additions and 43 deletions
+4 -4
View File
@@ -1,7 +1,7 @@
import React from "react";
import PropTypes from "prop-types";
import { Image, requireNativeComponent } from "react-native";
import ImageSourcePropType from 'react-native/Libraries/Image/ImageSourcePropType';
import ImageSourcePropType from "react-native/Libraries/Image/ImageSourcePropType";
import { ImageAttributes } from "../lib/attributes";
import { numberProp, touchableProps, responderProps } from "../lib/props";
import Shape from "./Shape";
@@ -20,7 +20,7 @@ export default class extends Shape {
width: numberProp.isRequired,
height: numberProp.isRequired,
href: ImageSourcePropType,
preserveAspectRatio: PropTypes.string
preserveAspectRatio: PropTypes.string,
};
static defaultProps = {
@@ -28,7 +28,7 @@ export default class extends Shape {
y: 0,
width: 0,
height: 0,
preserveAspectRatio: "xMidYMid meet"
preserveAspectRatio: "xMidYMid meet",
};
setNativeProps = (...args) => {
@@ -60,5 +60,5 @@ export default class extends Shape {
}
const RNSVGImage = requireNativeComponent("RNSVGImage", null, {
nativeOnly: ImageAttributes
nativeOnly: ImageAttributes,
});
+18 -14
View File
@@ -1,13 +1,13 @@
import React, { Component } from "react";
import PropTypes from 'prop-types';
import PropTypes from "prop-types";
import { requireNativeComponent } from "react-native";
import { numberProp } from '../lib/props';
import PATTERN_UNITS from '../lib/PATTERN_UNITS';
import { MaskAttributes } from '../lib/attributes';
import extractTransform from '../lib/extract/extractTransform';
import { numberProp } from "../lib/props";
import PATTERN_UNITS from "../lib/PATTERN_UNITS";
import { MaskAttributes } from "../lib/attributes";
import extractTransform from "../lib/extract/extractTransform";
export default class extends Component {
static displayName = 'Mask';
static displayName = "Mask";
static propTypes = {
id: PropTypes.string.isRequired,
x: numberProp,
@@ -15,10 +15,10 @@ export default class extends Component {
width: numberProp,
height: numberProp,
maskTransform: PropTypes.string,
maskUnits: PropTypes.oneOf(['userSpaceOnUse', 'objectBoundingBox']),
maskUnits: PropTypes.oneOf(["userSpaceOnUse", "objectBoundingBox"]),
maskContentUnits: PropTypes.oneOf([
'userSpaceOnUse',
'objectBoundingBox',
"userSpaceOnUse",
"objectBoundingBox",
]),
};
@@ -35,8 +35,6 @@ export default class extends Component {
maskUnits,
maskContentUnits,
children,
viewBox,
preserveAspectRatio,
} = props;
let extractedTransform;
@@ -57,8 +55,14 @@ export default class extends Component {
maskheight={`${height}`}
matrix={extractedTransform}
maskTransform={extractedTransform}
maskUnits={maskUnits !== undefined ? PATTERN_UNITS[maskUnits] : 0}
maskContentUnits={maskContentUnits !== undefined ? PATTERN_UNITS[maskContentUnits] : 1}
maskUnits={
maskUnits !== undefined ? PATTERN_UNITS[maskUnits] : 0
}
maskContentUnits={
maskContentUnits !== undefined
? PATTERN_UNITS[maskContentUnits]
: 1
}
>
{children}
</RNSVGMask>
@@ -66,6 +70,6 @@ export default class extends Component {
}
}
const RNSVGMask = requireNativeComponent('RNSVGMask', null, {
const RNSVGMask = requireNativeComponent("RNSVGMask", null, {
nativeOnly: MaskAttributes,
});
+14 -12
View File
@@ -1,14 +1,14 @@
import React, { Component } from "react";
import PropTypes from 'prop-types';
import PropTypes from "prop-types";
import { requireNativeComponent } from "react-native";
import { numberProp } from '../lib/props';
import PATTERN_UNITS from '../lib/PATTERN_UNITS';
import { PatternAttributes } from '../lib/attributes';
import extractTransform from '../lib/extract/extractTransform';
import { numberProp } from "../lib/props";
import PATTERN_UNITS from "../lib/PATTERN_UNITS";
import { PatternAttributes } from "../lib/attributes";
import extractTransform from "../lib/extract/extractTransform";
import extractViewBox from "react-native-svg/lib/extract/extractViewBox";
export default class extends Component {
static displayName = 'Pattern';
static displayName = "Pattern";
static propTypes = {
id: PropTypes.string.isRequired,
x: numberProp,
@@ -16,13 +16,13 @@ export default class extends Component {
width: numberProp,
height: numberProp,
patternTransform: PropTypes.string,
patternUnits: PropTypes.oneOf(['userSpaceOnUse', 'objectBoundingBox']),
patternUnits: PropTypes.oneOf(["userSpaceOnUse", "objectBoundingBox"]),
patternContentUnits: PropTypes.oneOf([
'userSpaceOnUse',
'objectBoundingBox',
"userSpaceOnUse",
"objectBoundingBox",
]),
viewBox: PropTypes.string,
preserveAspectRatio: PropTypes.string
preserveAspectRatio: PropTypes.string,
};
render() {
@@ -61,7 +61,9 @@ export default class extends Component {
matrix={extractedTransform}
patternTransform={extractedTransform}
patternUnits={PATTERN_UNITS[patternUnits] || 0}
patternContentUnits={patternContentUnits ? PATTERN_UNITS[patternContentUnits] : 1}
patternContentUnits={
patternContentUnits ? PATTERN_UNITS[patternContentUnits] : 1
}
{...extractViewBox({ viewBox, preserveAspectRatio })}
>
{children}
@@ -70,6 +72,6 @@ export default class extends Component {
}
}
const RNSVGPattern = requireNativeComponent('RNSVGPattern', null, {
const RNSVGPattern = requireNativeComponent("RNSVGPattern", null, {
nativeOnly: PatternAttributes,
});
+5 -4
View File
@@ -1,10 +1,11 @@
import React, { Component } from "react";
import React from "react";
import PropTypes from "prop-types";
import Path from "./Path";
import { pathProps } from "../lib/props";
import extractPolyPoints from "../lib/extract/extractPolyPoints";
import Shape from "./Shape";
export default class extends Component {
export default class extends Shape {
static displayName = "Polygon";
static propTypes = {
...pathProps,
@@ -18,12 +19,12 @@ export default class extends Component {
setNativeProps = (...args) => {
//noinspection JSUnresolvedFunction
var points = [...args][0].points;
let points = [...args][0].points;
if (points) {
if (Array.isArray(points)) {
points = points.join(",");
}
[...args][0].d = `M${extractPolyPoints(points)}`
[...args][0].d = `M${extractPolyPoints(points)}`;
}
this.root.setNativeProps(...args);
};
+5 -4
View File
@@ -1,10 +1,11 @@
import React, { Component } from "react";
import React from "react";
import PropTypes from "prop-types";
import Path from "./Path";
import { pathProps } from "../lib/props";
import extractPolyPoints from "../lib/extract/extractPolyPoints";
import Shape from "./Shape";
export default class extends Component {
export default class extends Shape {
static displayName = "Polyline";
static propTypes = {
...pathProps,
@@ -18,12 +19,12 @@ export default class extends Component {
setNativeProps = (...args) => {
//noinspection JSUnresolvedFunction
var points = [...args][0].points;
let points = [...args][0].points;
if (points) {
if (Array.isArray(points)) {
points = points.join(",");
}
[...args][0].d = `M${extractPolyPoints(points)}`
[...args][0].d = `M${extractPolyPoints(points)}`;
}
this.root.setNativeProps(...args);
};
+1 -1
View File
@@ -1,5 +1,5 @@
//noinspection JSUnresolvedVariable
import React, { Component } from "react";
import React from "react";
import PropTypes from "prop-types";
import {
ViewPropTypes,
+2 -2
View File
@@ -6,8 +6,8 @@ export default function(colorOrBrush) {
return null;
}
if (colorOrBrush === 'currentColor') {
return [2]
if (colorOrBrush === "currentColor") {
return [2];
}
try {
let matched = colorOrBrush.match(patternReg);
-1
View File
@@ -6,7 +6,6 @@ import extractOpacity from "./extractOpacity";
import extractTransform from "./extractTransform";
import PATTERN_UNITS from "../PATTERN_UNITS";
import percentToFloat from "../percentToFloat";
import Stop from "../../elements/Stop";
export default function(props) {
if (!props.id) {
+1 -1
View File
@@ -84,7 +84,7 @@ export function extractFont(prop) {
fontVariantLigatures,
fontFeatureSettings
},
prop => !_.isNil(prop)
p => !_.isNil(p)
);
if (typeof font === "string") {