@@ -12,29 +12,28 @@ const getDeclsObject = rule => {
1212 return object
1313}
1414
15- export const extractICSSImports = css => {
15+ export const extractICSS = css => {
1616 const imports = { }
17- css . walkRules ( rule => {
18- const matches = importPattern . exec ( rule . selector )
19- if ( matches ) {
20- const path = matches [ 1 ]
21- imports [ path ] = Object . assign ( { } , imports [ path ] , getDeclsObject ( rule ) )
22- rule . remove ( )
23- }
24- } )
25- return imports
26- }
27-
28- export const extractICSSExports = css => {
2917 const exports = { }
30- css . walkRules ( exportPattern , rule => {
31- Object . assign ( exports , getDeclsObject ( rule ) )
32- rule . remove ( )
18+ css . each ( node => {
19+ if ( node . type === 'rule' ) {
20+ const matches = importPattern . exec ( node . selector )
21+ if ( matches ) {
22+ const path = matches [ 1 ]
23+ const aliases = Object . assign ( { } , imports [ path ] , getDeclsObject ( node ) )
24+ imports [ path ] = aliases
25+ node . remove ( )
26+ }
27+ if ( exportPattern . test ( node . selector ) ) {
28+ Object . assign ( exports , getDeclsObject ( node ) )
29+ node . remove ( )
30+ }
31+ }
3332 } )
34- return exports
33+ return { imports , exports }
3534}
3635
37- const genICSSImportsRules = imports => {
36+ const createICSSImportsRules = imports => {
3837 return Object . keys ( imports ) . map ( path => {
3938 const aliases = imports [ path ]
4039 const declarations = Object . keys ( aliases ) . map ( key =>
@@ -53,7 +52,7 @@ const genICSSImportsRules = imports => {
5352 } )
5453}
5554
56- const genICSSExportsRule = exports => {
55+ const createICSSExportsRule = exports => {
5756 const declarations = Object . keys ( exports ) . map ( key =>
5857 postcss . decl ( {
5958 prop : key ,
@@ -69,7 +68,7 @@ const genICSSExportsRule = exports => {
6968 . append ( declarations )
7069}
7170
72- export const genICSSRules = ( imports , exports ) => [
73- ...genICSSImportsRules ( imports ) ,
74- genICSSExportsRule ( exports )
71+ export const createICSSRules = ( imports , exports ) => [
72+ ...createICSSImportsRules ( imports ) ,
73+ createICSSExportsRule ( exports )
7574]
0 commit comments