UNPKG

prejss

Version:

Get the power of PostCSS with plugins in your JSS styles. 🎨 Just put CSS into JS and get it as JSS object.

19 lines (13 loc) • 764 B
import extractExpressions from './extract-expressions' import restoreExpressions from './restore-expressions' export default ({ prepare, parse, finalize, ...options }) => { const extractFunc = options.extractExpressions || extractExpressions const restoreFunc = options.restoreExpressions || restoreExpressions return function (chunks, ...variables) { const { rawStyles, expressions } = extractFunc(chunks, ...variables) const prepared = (typeof prepare === 'function') ? prepare(rawStyles) : rawStyles const parsed = parse(prepared) // throw error if parse() is not defined properly const finalParsed = restoreFunc(parsed, expressions) return (typeof finalize === 'function') ? finalize(finalParsed) : finalParsed } }