summaryrefslogtreecommitdiff
path: root/node_modules/postcss-pseudoelements/index.js
blob: 10174af145d1f7ea7f3f91648abdd9cf7bd85086 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var postcss = require('postcss');

module.exports = postcss.plugin('pseudoelements', (options) => {

  options = options || { single: true };

  var selectors = options.selectors || [
    'before',
    'after',
    'first-letter',
    'first-line'
  ]

  var replacements = new RegExp(':{1,}(' + selectors.join('|') + ')', 'gi');
	var replaceWith = options.single ? ':$1' : '::$1'

  return (css) => {
    css.walkRules((rule) => {
      rule.selector = rule.selector.replace(replacements, replaceWith);
  	});
  };
});