From 4a71c7f932e7f2e4845d4c2dc0ed79ef6a6a2974 Mon Sep 17 00:00:00 2001 From: Bruno Lemos Date: Fri, 27 Oct 2017 20:38:04 -0200 Subject: [PATCH] Make createReactNativeComponentClass backward compatible with react native < 0.50 --- elements/Circle.js | 2 +- elements/ClipPath.js | 2 +- elements/Defs.js | 2 +- elements/Ellipse.js | 2 +- elements/G.js | 2 +- elements/Image.js | 2 +- elements/Line.js | 2 +- elements/LinearGradient.js | 2 +- elements/Path.js | 2 +- elements/RadialGradient.js | 2 +- elements/Rect.js | 2 +- elements/Symbol.js | 2 +- elements/TSpan.js | 2 +- elements/Text.js | 2 +- elements/Use.js | 2 +- lib/createReactNativeComponentClass.js | 6 ++++++ 16 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 lib/createReactNativeComponentClass.js diff --git a/elements/Circle.js b/elements/Circle.js index 04456329..323911f5 100644 --- a/elements/Circle.js +++ b/elements/Circle.js @@ -1,5 +1,5 @@ import React from 'react'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import Shape from './Shape'; import {CircleAttributes} from '../lib/attributes'; import {pathProps, numberProp} from '../lib/props'; diff --git a/elements/ClipPath.js b/elements/ClipPath.js index 849df8bf..206d20f4 100644 --- a/elements/ClipPath.js +++ b/elements/ClipPath.js @@ -1,6 +1,6 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {ClipPathAttributes} from '../lib/attributes'; export default class extends Component{ diff --git a/elements/Defs.js b/elements/Defs.js index cc1feda9..80997aab 100644 --- a/elements/Defs.js +++ b/elements/Defs.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; export default class extends Component { static displayName = 'Defs'; diff --git a/elements/Ellipse.js b/elements/Ellipse.js index 19ac1b26..dbdbf139 100644 --- a/elements/Ellipse.js +++ b/elements/Ellipse.js @@ -1,5 +1,5 @@ import React from 'react'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import Shape from './Shape'; import {pathProps, numberProp} from '../lib/props'; import {EllipseAttributes} from '../lib/attributes'; diff --git a/elements/G.js b/elements/G.js index 5f8da629..7544e250 100644 --- a/elements/G.js +++ b/elements/G.js @@ -1,5 +1,5 @@ import React from 'react'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import Shape from './Shape'; import {pathProps} from '../lib/props'; import {GroupAttributes} from '../lib/attributes'; diff --git a/elements/Image.js b/elements/Image.js index b8ca8dec..9f75f933 100644 --- a/elements/Image.js +++ b/elements/Image.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Image } from 'react-native'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {ImageAttributes} from '../lib/attributes'; import {numberProp, touchableProps, responderProps} from '../lib/props'; import Shape from './Shape'; diff --git a/elements/Line.js b/elements/Line.js index 394c08e2..cb6a8c8e 100644 --- a/elements/Line.js +++ b/elements/Line.js @@ -1,5 +1,5 @@ import React from 'react'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {LineAttributes} from '../lib/attributes'; import Shape from './Shape'; import {pathProps, numberProp} from '../lib/props'; diff --git a/elements/LinearGradient.js b/elements/LinearGradient.js index a1a7ee72..73b57964 100644 --- a/elements/LinearGradient.js +++ b/elements/LinearGradient.js @@ -2,7 +2,7 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import {numberProp} from '../lib/props'; import extractGradient from '../lib/extract/extractGradient'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {LinearGradientAttributes} from '../lib/attributes'; export default class extends Component{ diff --git a/elements/Path.js b/elements/Path.js index 91e92f2a..53968c94 100644 --- a/elements/Path.js +++ b/elements/Path.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {PathAttributes} from '../lib/attributes'; import Shape from './Shape'; import {pathProps} from '../lib/props'; diff --git a/elements/RadialGradient.js b/elements/RadialGradient.js index 58a0af82..7d60ab31 100644 --- a/elements/RadialGradient.js +++ b/elements/RadialGradient.js @@ -2,7 +2,7 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import {numberProp} from '../lib/props'; import extractGradient from '../lib/extract/extractGradient'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {RadialGradientAttributes} from '../lib/attributes'; export default class extends Component{ diff --git a/elements/Rect.js b/elements/Rect.js index e106dc7c..c1a1661f 100644 --- a/elements/Rect.js +++ b/elements/Rect.js @@ -1,6 +1,6 @@ import React from 'react'; import './Path'; // must import Path first, don`t know why. without this will throw an `Super expression must either be null or a function, not undefined` -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {pathProps, numberProp} from '../lib/props'; import {RectAttributes} from '../lib/attributes'; import extractProps from '../lib/extract/extractProps'; diff --git a/elements/Symbol.js b/elements/Symbol.js index 00f93258..99fff50e 100644 --- a/elements/Symbol.js +++ b/elements/Symbol.js @@ -1,7 +1,7 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import extractViewBox from '../lib/extract/extractViewBox'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import {SymbolAttributes} from '../lib/attributes'; export default class extends Component{ diff --git a/elements/TSpan.js b/elements/TSpan.js index 29d1ca3d..fc2f3c12 100644 --- a/elements/TSpan.js +++ b/elements/TSpan.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import extractText from '../lib/extract/extractText'; import {numberProp, pathProps, fontProps} from '../lib/props'; import {TSpanAttibutes} from '../lib/attributes'; diff --git a/elements/Text.js b/elements/Text.js index 9c1c1497..5996febc 100644 --- a/elements/Text.js +++ b/elements/Text.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import extractText from '../lib/extract/extractText'; import {numberProp, pathProps, fontProps} from '../lib/props'; import {TextAttributes} from '../lib/attributes'; diff --git a/elements/Use.js b/elements/Use.js index 9bf91435..b5ce4c42 100644 --- a/elements/Use.js +++ b/elements/Use.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js'; +import createReactNativeComponentClass from '../lib/createReactNativeComponentClass'; import extractProps from '../lib/extract/extractProps'; import {pathProps, numberProp} from '../lib/props'; import {UseAttributes} from '../lib/attributes'; diff --git a/lib/createReactNativeComponentClass.js b/lib/createReactNativeComponentClass.js new file mode 100644 index 00000000..ed566556 --- /dev/null +++ b/lib/createReactNativeComponentClass.js @@ -0,0 +1,6 @@ +import createReactNativeComponentClass from 'react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js' + +export default (uiViewClassName, getViewConfig) => + createReactNativeComponentClass.length >= 2 + ? createReactNativeComponentClass(uiViewClassName, getViewConfig) + : createReactNativeComponentClass(getViewConfig)