Skip to content

Commit 33ee646

Browse files
RobinMalfaitadamwathan
authored andcommitted
cache className resolve
1 parent fe70c89 commit 33ee646

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/util/generateVariantFunction.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
import _ from 'lodash'
22
import postcss from 'postcss'
33
import selectorParser from 'postcss-selector-parser'
4+
import { useMemo } from './useMemo'
45

56
const classNameParser = selectorParser(selectors => {
67
return selectors.first.filter(({ type }) => type === 'class').pop().value
78
})
89

10+
const getClassNameFromSelector = useMemo(
11+
selector => classNameParser.transformSync(selector),
12+
selector => selector
13+
)
14+
915
export default function generateVariantFunction(generator) {
1016
return (container, config) => {
1117
const cloned = postcss.root({ nodes: container.clone().nodes })
@@ -24,7 +30,7 @@ export default function generateVariantFunction(generator) {
2430
rule.selectors = rule.selectors.map(selector => {
2531
return modifierFunction({
2632
get className() {
27-
return classNameParser.transformSync(selector)
33+
return getClassNameFromSelector(selector)
2834
},
2935
selector,
3036
})

0 commit comments

Comments
 (0)