Sha256: 12783edb2aa3f605fc17d2ee9fdc38229127aced4fe1a4663baa6cbf98a182bf
Contents?: true
Size: 900 Bytes
Versions: 9
Compression:
Stored size: 900 Bytes
Contents
// this is a fake version of emotion // const printAST = require('ast-pretty-print') const {createMacro} = require('../../') module.exports = createMacro(emotionMacro) function emotionMacro({references, babel}) { const {types: t} = babel references.css.forEach(cssRef => { if (cssRef.parentPath.type === 'TaggedTemplateExpression') { cssRef.parentPath.replaceWith( t.stringLiteral( cssRef.parentPath .get('quasi') .evaluate() .value.trim(), ), ) } }) references.styled.forEach(styledRef => { if (styledRef.parentPath.parentPath.type === 'TaggedTemplateExpression') { const quasi = styledRef.parentPath.parentPath.get('quasi') const val = quasi.evaluate().value.trim() const replacement = t.templateLiteral([t.templateElement(val)], []) quasi.replaceWith(replacement) } }) }
Version data entries
9 entries across 9 versions & 3 rubygems