Skip to content

Commit

Permalink
cache className resolve
Browse files Browse the repository at this point in the history
  • Loading branch information
RobinMalfait committed Aug 18, 2020
1 parent 811df0f commit 0591eb0
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/util/generateVariantFunction.js
@@ -1,11 +1,17 @@
import _ from 'lodash'
import postcss from 'postcss'
import selectorParser from 'postcss-selector-parser'
import { useMemo } from './useMemo'

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

const getClassNameFromSelector = useMemo(
selector => classNameParser.transformSync(selector),
selector => selector
)

export default function generateVariantFunction(generator) {
return (container, config) => {
const cloned = postcss.root({ nodes: container.clone().nodes })
Expand All @@ -24,7 +30,7 @@ export default function generateVariantFunction(generator) {
rule.selectors = rule.selectors.map(selector => {
return modifierFunction({
get className() {
return classNameParser.transformSync(selector)
return getClassNameFromSelector(selector)
},
selector,
})
Expand Down

0 comments on commit 0591eb0

Please sign in to comment.