index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. 'use strict';
  2. exports.__esModule = true;
  3. var _postcss = require('postcss');
  4. var _postcss2 = _interopRequireDefault(_postcss);
  5. var _encode = require('./lib/encode');
  6. var _encode2 = _interopRequireDefault(_encode);
  7. var _counter = require('./lib/counter');
  8. var _counter2 = _interopRequireDefault(_counter);
  9. var _counterStyle = require('./lib/counter-style');
  10. var _counterStyle2 = _interopRequireDefault(_counterStyle);
  11. var _keyframes = require('./lib/keyframes');
  12. var _keyframes2 = _interopRequireDefault(_keyframes);
  13. var _gridTemplate = require('./lib/grid-template');
  14. var _gridTemplate2 = _interopRequireDefault(_gridTemplate);
  15. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  16. exports.default = _postcss2.default.plugin('postcss-reduce-idents', function () {
  17. var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
  18. _ref$counter = _ref.counter,
  19. counter = _ref$counter === undefined ? true : _ref$counter,
  20. _ref$counterStyle = _ref.counterStyle,
  21. counterStyle = _ref$counterStyle === undefined ? true : _ref$counterStyle,
  22. _ref$keyframes = _ref.keyframes,
  23. keyframes = _ref$keyframes === undefined ? true : _ref$keyframes,
  24. _ref$gridTemplate = _ref.gridTemplate,
  25. gridTemplate = _ref$gridTemplate === undefined ? true : _ref$gridTemplate,
  26. _ref$encoder = _ref.encoder,
  27. encoder = _ref$encoder === undefined ? _encode2.default : _ref$encoder;
  28. var reducers = [];
  29. counter && reducers.push(_counter2.default);
  30. counterStyle && reducers.push(_counterStyle2.default);
  31. keyframes && reducers.push(_keyframes2.default);
  32. gridTemplate && reducers.push(_gridTemplate2.default);
  33. return function (css) {
  34. css.walk(function (node) {
  35. reducers.forEach(function (reducer) {
  36. return reducer.collect(node, encoder);
  37. });
  38. });
  39. reducers.forEach(function (reducer) {
  40. return reducer.transform();
  41. });
  42. };
  43. });
  44. module.exports = exports['default'];