Skip to content

Commit 1c1f113

Browse files
authored
Update flex.js
1 parent 98eaf80 commit 1c1f113

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/transforms/flex.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ const defaultFlexGrow = 1;
66
const defaultFlexShrink = 1;
77
const defaultFlexBasis = 0;
88

9+
const FLEX_BASIS_AUTO = {}; // Used for reference equality
10+
911
module.exports = (tokenStream) => {
1012
let flexGrow;
1113
let flexShrink;
@@ -14,8 +16,7 @@ module.exports = (tokenStream) => {
1416
if (tokenStream.matches(NONE)) {
1517
tokenStream.expectEmpty();
1618
return { $merge: { flexGrow: 0, flexShrink: 0 } };
17-
} else if (tokenStream.matches(AUTO)) {
18-
tokenStream.expectEmpty();
19+
} else if (tokenStream.matches(AUTO) && !tokenStream.lookAhead().hasTokens()) {
1920
return { $merge: { flexGrow: 1, flexShrink: 1 } };
2021
}
2122

@@ -32,6 +33,8 @@ module.exports = (tokenStream) => {
3233
}
3334
} else if (flexBasis === undefined && tokenStream.matches(LENGTH)) {
3435
flexBasis = tokenStream.lastValue;
36+
} else if (flexBasis === undefined && tokenStream.matches(AUTO)) {
37+
flexBasis = FLEX_BASIS_AUTO;
3538
} else {
3639
tokenStream.throw();
3740
}
@@ -45,5 +48,7 @@ module.exports = (tokenStream) => {
4548
if (flexShrink === undefined) flexShrink = defaultFlexShrink;
4649
if (flexBasis === undefined) flexBasis = defaultFlexBasis;
4750

48-
return { $merge: { flexGrow, flexShrink, flexBasis } };
51+
return flexBasis !== FLEX_BASIS_AUTO
52+
? { $merge: { flexGrow, flexShrink, flexBasis } }
53+
: { $merge: { flexGrow, flexShrink } };
4954
};

0 commit comments

Comments
 (0)