babel-plugin-transform-react-jsx-to-rn-stylesheet 3.4.3 → 3.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/index.spec.js +48 -16
- package/dist/index.js +30 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +34 -12
package/__tests__/index.spec.js
CHANGED
|
@@ -50,6 +50,10 @@ const getStyleFunctionTemplete = `function _getStyle(classNameExpression) {
|
|
|
50
50
|
return style;
|
|
51
51
|
}`
|
|
52
52
|
|
|
53
|
+
const mergeEleStylesFunctionTemplate = `function _mergeEleStyles() {
|
|
54
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {});
|
|
55
|
+
}`
|
|
56
|
+
|
|
53
57
|
describe('jsx style plugin', () => {
|
|
54
58
|
function getTransfromCode (source, debug = false, options = {}) {
|
|
55
59
|
const { enableCSSModule, enableMultipleClassName = false } = options
|
|
@@ -116,11 +120,14 @@ class App extends Component {
|
|
|
116
120
|
}
|
|
117
121
|
}`)).toBe(`import { createElement, Component } from 'rax';
|
|
118
122
|
import appCssStyleSheet from "./app.css";
|
|
123
|
+
|
|
124
|
+
${mergeEleStylesFunctionTemplate}
|
|
125
|
+
|
|
119
126
|
var _styleSheet = appCssStyleSheet;
|
|
120
127
|
|
|
121
128
|
class App extends Component {
|
|
122
129
|
render() {
|
|
123
|
-
return <div style={
|
|
130
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
}`)
|
|
@@ -179,13 +186,15 @@ class App extends Component {
|
|
|
179
186
|
import app1CssStyleSheet from "./app1.css";
|
|
180
187
|
import app2CssStyleSheet from "./app2.css";
|
|
181
188
|
|
|
189
|
+
${mergeEleStylesFunctionTemplate}
|
|
190
|
+
|
|
182
191
|
${mergeStylesFunctionTemplate}
|
|
183
192
|
|
|
184
193
|
var _styleSheet = _mergeStyles(app1CssStyleSheet, app2CssStyleSheet);
|
|
185
194
|
|
|
186
195
|
class App extends Component {
|
|
187
196
|
render() {
|
|
188
|
-
return <div style={
|
|
197
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
189
198
|
}
|
|
190
199
|
|
|
191
200
|
}`)
|
|
@@ -204,13 +213,15 @@ class App extends Component {
|
|
|
204
213
|
import appCssStyleSheet from "./app.css";
|
|
205
214
|
import appCssStyleSheet1 from "../app.css";
|
|
206
215
|
|
|
216
|
+
${mergeEleStylesFunctionTemplate}
|
|
217
|
+
|
|
207
218
|
${mergeStylesFunctionTemplate}
|
|
208
219
|
|
|
209
220
|
var _styleSheet = _mergeStyles(appCssStyleSheet, appCssStyleSheet1);
|
|
210
221
|
|
|
211
222
|
class App extends Component {
|
|
212
223
|
render() {
|
|
213
|
-
return <div style={
|
|
224
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
214
225
|
}
|
|
215
226
|
|
|
216
227
|
}`)
|
|
@@ -229,13 +240,15 @@ class App extends Component {
|
|
|
229
240
|
import appCssStyleSheet from "./app.css";
|
|
230
241
|
import style from "./style.css";
|
|
231
242
|
|
|
243
|
+
${mergeEleStylesFunctionTemplate}
|
|
244
|
+
|
|
232
245
|
${mergeStylesFunctionTemplate}
|
|
233
246
|
|
|
234
247
|
var _styleSheet = _mergeStyles(appCssStyleSheet, style);
|
|
235
248
|
|
|
236
249
|
class App extends Component {
|
|
237
250
|
render() {
|
|
238
|
-
return <div style={
|
|
251
|
+
return <div style={_mergeEleStyles(_styleSheet["header2"], style.header1)} />;
|
|
239
252
|
}
|
|
240
253
|
|
|
241
254
|
}`)
|
|
@@ -254,13 +267,16 @@ class App extends Component {
|
|
|
254
267
|
}
|
|
255
268
|
}`)).toBe(`import { createElement, Component } from 'rax';
|
|
256
269
|
import appCssStyleSheet from "./app.css";
|
|
270
|
+
|
|
271
|
+
${mergeEleStylesFunctionTemplate}
|
|
272
|
+
|
|
257
273
|
var _styleSheet = appCssStyleSheet;
|
|
258
274
|
|
|
259
275
|
class App extends Component {
|
|
260
276
|
render() {
|
|
261
|
-
return <div style={
|
|
277
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], {
|
|
262
278
|
height: 100
|
|
263
|
-
}
|
|
279
|
+
})} />;
|
|
264
280
|
}\n
|
|
265
281
|
}`)
|
|
266
282
|
})
|
|
@@ -279,13 +295,15 @@ class App extends Component {
|
|
|
279
295
|
import appCssStyleSheet from "./app.css";
|
|
280
296
|
import style from "./style.css";
|
|
281
297
|
|
|
298
|
+
${mergeEleStylesFunctionTemplate}
|
|
299
|
+
|
|
282
300
|
${mergeStylesFunctionTemplate}
|
|
283
301
|
|
|
284
302
|
var _styleSheet = _mergeStyles(appCssStyleSheet, style);
|
|
285
303
|
|
|
286
304
|
class App extends Component {
|
|
287
305
|
render() {
|
|
288
|
-
return <div style={
|
|
306
|
+
return <div style={_mergeEleStyles(_styleSheet["header2"], style.header1, style.header3)} />;
|
|
289
307
|
}\n
|
|
290
308
|
}`)
|
|
291
309
|
})
|
|
@@ -407,11 +425,14 @@ import './app.less';
|
|
|
407
425
|
render(<div className="header" style={{width: 100, height: 100}} />);
|
|
408
426
|
`)).toBe(`import { createElement, render } from 'rax';
|
|
409
427
|
import appLessStyleSheet from "./app.less";
|
|
428
|
+
|
|
429
|
+
${mergeEleStylesFunctionTemplate}
|
|
430
|
+
|
|
410
431
|
var _styleSheet = appLessStyleSheet;
|
|
411
|
-
render(<div style={
|
|
432
|
+
render(<div style={_mergeEleStyles(_styleSheet["header"], {
|
|
412
433
|
width: 100,
|
|
413
434
|
height: 100
|
|
414
|
-
}
|
|
435
|
+
})} />);`)
|
|
415
436
|
})
|
|
416
437
|
it('transform styleAttribute inline string', () => {
|
|
417
438
|
expect(getTransfromCode(`
|
|
@@ -436,15 +457,18 @@ import './app.less';
|
|
|
436
457
|
render(<div className="header" style="width:100px;height:100px;background-color:rgba(0, 0, 0, 0.5);border: 1px solid;" />);
|
|
437
458
|
`)).toBe(`import { createElement, render } from 'rax';
|
|
438
459
|
import appLessStyleSheet from "./app.less";
|
|
460
|
+
|
|
461
|
+
${mergeEleStylesFunctionTemplate}
|
|
462
|
+
|
|
439
463
|
var _styleSheet = appLessStyleSheet;
|
|
440
|
-
render(<div style={
|
|
464
|
+
render(<div style={_mergeEleStyles(_styleSheet["header"], {
|
|
441
465
|
"width": 100,
|
|
442
466
|
"height": 100,
|
|
443
467
|
"backgroundColor": "rgba(0, 0, 0, 0.5)",
|
|
444
468
|
"borderWidth": 1,
|
|
445
469
|
"borderStyle": "solid",
|
|
446
470
|
"borderColor": "black"
|
|
447
|
-
}
|
|
471
|
+
})} />);`)
|
|
448
472
|
})
|
|
449
473
|
|
|
450
474
|
it('ignore merge stylesheet when css module enable', () => {
|
|
@@ -460,11 +484,14 @@ class App extends Component {
|
|
|
460
484
|
}`, false, { enableCSSModule: true })).toBe(`import { createElement, Component } from 'rax';
|
|
461
485
|
import appScssStyleSheet from "./app.scss";
|
|
462
486
|
import styleSheet from './app.module.scss';
|
|
487
|
+
|
|
488
|
+
${mergeEleStylesFunctionTemplate}
|
|
489
|
+
|
|
463
490
|
var _styleSheet = appScssStyleSheet;
|
|
464
491
|
|
|
465
492
|
class App extends Component {
|
|
466
493
|
render() {
|
|
467
|
-
return <div style={
|
|
494
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], styleSheet.red)} />;
|
|
468
495
|
}\n
|
|
469
496
|
}`)
|
|
470
497
|
})
|
|
@@ -585,13 +612,15 @@ class App extends Component {
|
|
|
585
612
|
import appScssStyleSheet from "./app.scss";
|
|
586
613
|
import styleSheet from "./app.module.scss";
|
|
587
614
|
|
|
615
|
+
${mergeEleStylesFunctionTemplate}
|
|
616
|
+
|
|
588
617
|
${mergeStylesFunctionTemplate}
|
|
589
618
|
|
|
590
619
|
var _styleSheet = _mergeStyles(appScssStyleSheet, styleSheet);
|
|
591
620
|
|
|
592
621
|
class App extends Component {
|
|
593
622
|
render() {
|
|
594
|
-
return <div style={
|
|
623
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], styleSheet.red)} />;
|
|
595
624
|
}\n
|
|
596
625
|
}`)
|
|
597
626
|
})
|
|
@@ -649,15 +678,18 @@ class App extends Component {
|
|
|
649
678
|
}
|
|
650
679
|
}`, false, { enableMultipleClassName: true })).toBe(`import { createElement, Component } from 'rax';
|
|
651
680
|
import appCssStyleSheet from "./app.css";
|
|
681
|
+
|
|
682
|
+
${mergeEleStylesFunctionTemplate}
|
|
683
|
+
|
|
652
684
|
var _styleSheet = appCssStyleSheet;
|
|
653
685
|
|
|
654
686
|
class App extends Component {
|
|
655
687
|
render() {
|
|
656
|
-
return <div style={
|
|
688
|
+
return <div style={_mergeEleStyles(_styleSheet["container"], {
|
|
657
689
|
color: "red"
|
|
658
|
-
}
|
|
690
|
+
})} headerStyle={_mergeEleStyles(_styleSheet["header"], {
|
|
659
691
|
color: "green"
|
|
660
|
-
}
|
|
692
|
+
})} />;
|
|
661
693
|
}
|
|
662
694
|
|
|
663
695
|
}`)
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,7 @@ const taro_css_to_react_native_1 = require("taro-css-to-react-native");
|
|
|
28
28
|
const STYLE_SHEET_NAME = '_styleSheet';
|
|
29
29
|
const GET_STYLE_FUNC_NAME = '_getStyle';
|
|
30
30
|
const MERGE_STYLES_FUNC_NAME = '_mergeStyles';
|
|
31
|
+
const MERGE_ELE_STYLES_FUNC_NAME = '_mergeEleStyles';
|
|
31
32
|
const GET_CLS_NAME_FUNC_NAME = '_getClassName';
|
|
32
33
|
const NAME_SUFFIX = 'styleSheet';
|
|
33
34
|
const RN_CSS_EXT = ['.css', '.scss', '.sass', '.less', '.styl', '.stylus'];
|
|
@@ -42,7 +43,7 @@ const string2Object = str => {
|
|
|
42
43
|
.split(';')
|
|
43
44
|
.map(l => {
|
|
44
45
|
var _a;
|
|
45
|
-
const arr = l.split(':');
|
|
46
|
+
const arr = l.split(':').map(it => it.trim());
|
|
46
47
|
arr[1] = (_a = arr[1]) === null || _a === void 0 ? void 0 : _a.replace(/px/g, 'PX');
|
|
47
48
|
return arr;
|
|
48
49
|
});
|
|
@@ -113,6 +114,12 @@ function ${GET_CLS_NAME_FUNC_NAME}() {
|
|
|
113
114
|
return className.join(' ').trim();
|
|
114
115
|
}
|
|
115
116
|
`;
|
|
117
|
+
// like: `[[styles.header, styles.header1], styles.header2]`
|
|
118
|
+
const getMergeEleStyleFunction = `
|
|
119
|
+
function ${MERGE_ELE_STYLES_FUNC_NAME}() {
|
|
120
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {})
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
116
123
|
const getStyleFunction = `
|
|
117
124
|
function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
118
125
|
var className = ${GET_CLS_NAME_FUNC_NAME}(classNameExpression);
|
|
@@ -124,10 +131,9 @@ function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
|
124
131
|
`;
|
|
125
132
|
function default_1(babel) {
|
|
126
133
|
const { types: t, template } = babel;
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
const getStyleFunctionStmt = getStyleFunctionTemplete();
|
|
134
|
+
const getClassNameFunctionStmt = template(getClassNameFunction)();
|
|
135
|
+
const getStyleFunctionStmt = template(getStyleFunction)();
|
|
136
|
+
const getMergeEleStyleFunctionStmt = template(getMergeEleStyleFunction)();
|
|
131
137
|
function getMap(str) {
|
|
132
138
|
return str.split(/\s+/).map((className) => {
|
|
133
139
|
// return template(`${STYLE_SHEET_NAME}["${className}"]`)().expression
|
|
@@ -274,12 +280,16 @@ function default_1(babel) {
|
|
|
274
280
|
const node = astPath.node;
|
|
275
281
|
const injectGetStyle = file.get('injectGetStyle');
|
|
276
282
|
// 从最后一个import 开始插入表达式,后续插入的表达式追加在后面
|
|
277
|
-
|
|
283
|
+
let lastImportIndex = findLastImportIndex(node.body);
|
|
278
284
|
if (injectGetStyle) {
|
|
279
285
|
// @ts-ignore
|
|
280
|
-
node.body.splice(lastImportIndex
|
|
286
|
+
node.body.splice(++lastImportIndex, 0, getClassNameFunctionStmt);
|
|
281
287
|
// @ts-ignore
|
|
282
|
-
node.body.splice(lastImportIndex
|
|
288
|
+
node.body.splice(++lastImportIndex, 0, getStyleFunctionStmt);
|
|
289
|
+
}
|
|
290
|
+
if (file.get('hasMultiStyle')) {
|
|
291
|
+
// @ts-ignore
|
|
292
|
+
node.body.splice(++lastImportIndex, 0, getMergeEleStyleFunctionStmt);
|
|
283
293
|
}
|
|
284
294
|
existStyleImport = false;
|
|
285
295
|
}
|
|
@@ -333,7 +343,11 @@ function default_1(babel) {
|
|
|
333
343
|
if (arrayExpression.length === 0) {
|
|
334
344
|
return;
|
|
335
345
|
}
|
|
346
|
+
if (arrayExpression.length > 1) {
|
|
347
|
+
file.set('hasMultiStyle', true);
|
|
348
|
+
}
|
|
336
349
|
if (hasStyleAttribute && styleAttribute.value) {
|
|
350
|
+
file.set('hasMultiStyle', true);
|
|
337
351
|
let expression;
|
|
338
352
|
// 支持 行内 style 转成oject:style="width:100;height:100;" => style={{width:'100',height:'100'}}
|
|
339
353
|
if (t.isStringLiteral(styleAttribute.value)) {
|
|
@@ -344,9 +358,11 @@ function default_1(babel) {
|
|
|
344
358
|
expression = styleAttribute.value.expression;
|
|
345
359
|
}
|
|
346
360
|
const expressionType = expression.type;
|
|
361
|
+
let _arrayExpression;
|
|
362
|
+
// 非rn场景,style不支持数组,因此需要将数组转换为对象
|
|
347
363
|
// style={[styles.a, styles.b]} ArrayExpression
|
|
348
364
|
if (expressionType === 'ArrayExpression') {
|
|
349
|
-
|
|
365
|
+
_arrayExpression = arrayExpression.concat(expression.elements);
|
|
350
366
|
// style={styles.a} MemberExpression
|
|
351
367
|
// style={{ height: 100 }} ObjectExpression
|
|
352
368
|
// style={{ ...custom }} ObjectExpression
|
|
@@ -356,11 +372,14 @@ function default_1(babel) {
|
|
|
356
372
|
// style={custom || other} LogicalExpression
|
|
357
373
|
}
|
|
358
374
|
else {
|
|
359
|
-
|
|
375
|
+
_arrayExpression = arrayExpression.concat(expression);
|
|
360
376
|
}
|
|
377
|
+
styleAttribute.value = t.jSXExpressionContainer(t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), _arrayExpression));
|
|
361
378
|
}
|
|
362
379
|
else {
|
|
363
|
-
const expression = arrayExpression.length
|
|
380
|
+
const expression = arrayExpression.length > 1
|
|
381
|
+
? t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), arrayExpression)
|
|
382
|
+
: arrayExpression[0];
|
|
364
383
|
attributes.push(t.jSXAttribute(t.jSXIdentifier(key === DEFAULT_STYLE_KEY ? key : (key + 'Style')), t.jSXExpressionContainer(expression)));
|
|
365
384
|
}
|
|
366
385
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-transform-react-jsx-to-rn-stylesheet",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.4",
|
|
4
4
|
"description": "Transform stylesheet selector to style in JSX Elements.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"camelize": "^1.0.0",
|
|
27
|
-
"taro-css-to-react-native": "3.4.
|
|
27
|
+
"taro-css-to-react-native": "3.4.4"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/babel__core": "^7.1.14"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "099d062d74faa3f124ca2499de1154fae0adc4f9"
|
|
33
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -7,6 +7,8 @@ import { ConvertPluginPass as PluginPass } from './types'
|
|
|
7
7
|
const STYLE_SHEET_NAME = '_styleSheet'
|
|
8
8
|
const GET_STYLE_FUNC_NAME = '_getStyle'
|
|
9
9
|
const MERGE_STYLES_FUNC_NAME = '_mergeStyles'
|
|
10
|
+
const MERGE_ELE_STYLES_FUNC_NAME = '_mergeEleStyles'
|
|
11
|
+
|
|
10
12
|
const GET_CLS_NAME_FUNC_NAME = '_getClassName'
|
|
11
13
|
const NAME_SUFFIX = 'styleSheet'
|
|
12
14
|
const RN_CSS_EXT = ['.css', '.scss', '.sass', '.less', '.styl', '.stylus']
|
|
@@ -23,7 +25,7 @@ const string2Object = str => {
|
|
|
23
25
|
const entries = str.replace(/;+$/g, '')
|
|
24
26
|
.split(';')
|
|
25
27
|
.map(l => {
|
|
26
|
-
const arr = l.split(':')
|
|
28
|
+
const arr = l.split(':').map(it => it.trim())
|
|
27
29
|
arr[1] = arr[1]?.replace(/px/g, 'PX')
|
|
28
30
|
return arr
|
|
29
31
|
})
|
|
@@ -97,6 +99,12 @@ function ${GET_CLS_NAME_FUNC_NAME}() {
|
|
|
97
99
|
return className.join(' ').trim();
|
|
98
100
|
}
|
|
99
101
|
`
|
|
102
|
+
// like: `[[styles.header, styles.header1], styles.header2]`
|
|
103
|
+
const getMergeEleStyleFunction = `
|
|
104
|
+
function ${MERGE_ELE_STYLES_FUNC_NAME}() {
|
|
105
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {})
|
|
106
|
+
}
|
|
107
|
+
`
|
|
100
108
|
const getStyleFunction = `
|
|
101
109
|
function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
102
110
|
var className = ${GET_CLS_NAME_FUNC_NAME}(classNameExpression);
|
|
@@ -113,10 +121,11 @@ export default function (babel: {
|
|
|
113
121
|
}): PluginObj {
|
|
114
122
|
const { types: t, template } = babel
|
|
115
123
|
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
124
|
+
const getClassNameFunctionStmt = template(getClassNameFunction)()
|
|
125
|
+
|
|
126
|
+
const getStyleFunctionStmt = template(getStyleFunction)()
|
|
127
|
+
|
|
128
|
+
const getMergeEleStyleFunctionStmt = template(getMergeEleStyleFunction)()
|
|
120
129
|
|
|
121
130
|
function getMap (str) {
|
|
122
131
|
return str.split(/\s+/).map((className) => {
|
|
@@ -273,13 +282,16 @@ export default function (babel: {
|
|
|
273
282
|
const node = astPath.node
|
|
274
283
|
const injectGetStyle = file.get('injectGetStyle')
|
|
275
284
|
// 从最后一个import 开始插入表达式,后续插入的表达式追加在后面
|
|
276
|
-
|
|
277
|
-
|
|
285
|
+
let lastImportIndex = findLastImportIndex(node.body)
|
|
278
286
|
if (injectGetStyle) {
|
|
279
287
|
// @ts-ignore
|
|
280
|
-
node.body.splice(lastImportIndex
|
|
288
|
+
node.body.splice(++lastImportIndex, 0, getClassNameFunctionStmt)
|
|
289
|
+
// @ts-ignore
|
|
290
|
+
node.body.splice(++lastImportIndex, 0, getStyleFunctionStmt)
|
|
291
|
+
}
|
|
292
|
+
if (file.get('hasMultiStyle')) {
|
|
281
293
|
// @ts-ignore
|
|
282
|
-
node.body.splice(lastImportIndex
|
|
294
|
+
node.body.splice(++lastImportIndex, 0, getMergeEleStyleFunctionStmt)
|
|
283
295
|
}
|
|
284
296
|
existStyleImport = false
|
|
285
297
|
}
|
|
@@ -339,7 +351,12 @@ export default function (babel: {
|
|
|
339
351
|
return
|
|
340
352
|
}
|
|
341
353
|
|
|
354
|
+
if (arrayExpression.length > 1) {
|
|
355
|
+
file.set('hasMultiStyle', true)
|
|
356
|
+
}
|
|
357
|
+
|
|
342
358
|
if (hasStyleAttribute && styleAttribute.value) {
|
|
359
|
+
file.set('hasMultiStyle', true)
|
|
343
360
|
let expression
|
|
344
361
|
// 支持 行内 style 转成oject:style="width:100;height:100;" => style={{width:'100',height:'100'}}
|
|
345
362
|
if (t.isStringLiteral(styleAttribute.value)) {
|
|
@@ -350,9 +367,11 @@ export default function (babel: {
|
|
|
350
367
|
}
|
|
351
368
|
const expressionType = expression.type
|
|
352
369
|
|
|
370
|
+
let _arrayExpression
|
|
371
|
+
// 非rn场景,style不支持数组,因此需要将数组转换为对象
|
|
353
372
|
// style={[styles.a, styles.b]} ArrayExpression
|
|
354
373
|
if (expressionType === 'ArrayExpression') {
|
|
355
|
-
|
|
374
|
+
_arrayExpression = arrayExpression.concat(expression.elements)
|
|
356
375
|
// style={styles.a} MemberExpression
|
|
357
376
|
// style={{ height: 100 }} ObjectExpression
|
|
358
377
|
// style={{ ...custom }} ObjectExpression
|
|
@@ -361,10 +380,13 @@ export default function (babel: {
|
|
|
361
380
|
// style={this.props.useCustom ? custom : null} ConditionalExpression
|
|
362
381
|
// style={custom || other} LogicalExpression
|
|
363
382
|
} else {
|
|
364
|
-
|
|
383
|
+
_arrayExpression = arrayExpression.concat(expression)
|
|
365
384
|
}
|
|
385
|
+
styleAttribute.value = t.jSXExpressionContainer(t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), _arrayExpression))
|
|
366
386
|
} else {
|
|
367
|
-
const expression = arrayExpression.length
|
|
387
|
+
const expression = arrayExpression.length > 1
|
|
388
|
+
? t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), arrayExpression)
|
|
389
|
+
: arrayExpression[0]
|
|
368
390
|
attributes.push(t.jSXAttribute(t.jSXIdentifier(key === DEFAULT_STYLE_KEY ? key : (key + 'Style')), t.jSXExpressionContainer(expression)))
|
|
369
391
|
}
|
|
370
392
|
} else if (hasStyleAttribute) {
|