File tree Expand file tree Collapse file tree 4 files changed +19
-7
lines changed Expand file tree Collapse file tree 4 files changed +19
-7
lines changed Original file line number Diff line number Diff line change @@ -13,10 +13,6 @@ var _compose = require('lodash/fp/compose');
13
13
14
14
var _compose2 = _interopRequireDefault ( _compose ) ;
15
15
16
- var _camelCase = require ( 'lodash/fp/camelCase' ) ;
17
-
18
- var _camelCase2 = _interopRequireDefault ( _camelCase ) ;
19
-
20
16
var _cond = require ( 'lodash/fp/cond' ) ;
21
17
22
18
var _cond2 = _interopRequireDefault ( _cond ) ;
@@ -58,6 +54,12 @@ var toString = function toString(data) {
58
54
return '' + ( 0 , _stringify2 . default ) ( data , null , '\t' ) ;
59
55
} ;
60
56
57
+ var dashesCamelCase = function dashesCamelCase ( str ) {
58
+ return str . replace ( / - + ( \w ) / g, function ( match , firstLetter ) {
59
+ return firstLetter . toUpperCase ( ) ;
60
+ } ) ;
61
+ } ;
62
+
61
63
var objectify = function objectify ( root , filepath ) {
62
64
var result = { } ;
63
65
@@ -74,7 +76,7 @@ var objectify = function objectify(root, filepath) {
74
76
} ) ) {
75
77
var value = rule . value ;
76
78
77
- var key = ( 0 , _camelCase2 . default ) ( rule . prop . replace ( / ^ - + / , '' ) // replace "--"
79
+ var key = dashesCamelCase ( rule . prop . replace ( / ^ - + / , '' ) // replace "--"
78
80
) ;
79
81
80
82
result [ key ] = value . match ( / ^ [ + - ] ? \d * .? ( \d * ) ? ( p x ) $ / i) ? parseFloat ( value ) : value ;
Original file line number Diff line number Diff line change 1
1
import compose from 'lodash/fp/compose'
2
- import camelCase from 'lodash/fp/camelCase'
3
2
import cond from 'lodash/fp/cond'
4
3
import postcss from 'postcss'
5
4
import cssnext from 'postcss-cssnext'
@@ -35,6 +34,9 @@ const toExport = cond([
35
34
36
35
const toString = ( data ) => `${ JSON . stringify ( data , null , '\t' ) } `
37
36
37
+ const dashesCamelCase = str =>
38
+ str . replace ( / - + ( \w ) / g, ( match , firstLetter ) => firstLetter . toUpperCase ( ) )
39
+
38
40
const objectify = ( root , filepath ) => {
39
41
const result = { }
40
42
@@ -48,7 +50,7 @@ const objectify = (root, filepath) => {
48
50
}
49
51
if ( rule . parent && rule . parent . selectors . find ( ( sel ) => sel === ':root' ) ) {
50
52
const { value } = rule
51
- const key = camelCase (
53
+ const key = dashesCamelCase (
52
54
rule . prop . replace ( / ^ - + / , '' ) // replace "--"
53
55
)
54
56
Original file line number Diff line number Diff line change 1
1
: root {
2
2
--size-variable : 10em ;
3
+ --color-RGBA : 'rgba' ;
3
4
}
Original file line number Diff line number Diff line change @@ -51,6 +51,13 @@ test('converts kebab case', async (t) => {
51
51
t . is ( result [ 'size-variable' ] , undefined )
52
52
} )
53
53
54
+ test ( 'converts only dashes' , async ( t ) => {
55
+ const result = await runner ( './convertedCase.css' )
56
+
57
+ t . not ( result . colorRGBA , undefined )
58
+ t . is ( result [ 'color-RGBA' ] , undefined )
59
+ } )
60
+
54
61
test ( 'handles cssSyntax errors' , async ( t ) => {
55
62
t . throws ( runner ( './wrongSyntax.css' ) , ( [ error ] ) => error . message . includes ( 'Unclosed block' ) )
56
63
} )
You can’t perform that action at this time.
0 commit comments