UNPKG

prejss-postcss-parser

Version:

PreJSS Parser based on PostCSS and plugins

116 lines (82 loc) 3.35 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _postcss = require('postcss'); var _postcss2 = _interopRequireDefault(_postcss); var _postcssLoadConfig = require('postcss-load-config'); var _postcssLoadConfig2 = _interopRequireDefault(_postcssLoadConfig); var _postcssSafeParser = require('postcss-safe-parser'); var _postcssSafeParser2 = _interopRequireDefault(_postcssSafeParser); var _defaultConfig = require('./default-config'); var _defaultConfig2 = _interopRequireDefault(_defaultConfig); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var config = void 0; var processor = void 0; /** * 1. Initiate config, options and processor variables in module scope, * if they are not initiated yet * * 2. Process parsing with initiated options * * @param {String} rawStyles * @param {Object} processOptions * @returns {Object} JSS Object */ var processParsing = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(rawStyles) { var processOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var customConfig, _config, _config$plugins, plugins, _config$options, options, finalOptions; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: customConfig = processOptions.config; if (!(!config && customConfig)) { _context.next = 5; break; } config = customConfig; _context.next = 15; break; case 5: if (config) { _context.next = 15; break; } _context.prev = 6; _context.next = 9; return (0, _postcssLoadConfig2.default)(); case 9: config = _context.sent; _context.next = 15; break; case 12: _context.prev = 12; _context.t0 = _context['catch'](6); config = _defaultConfig2.default; case 15: _config = config, _config$plugins = _config.plugins, plugins = _config$plugins === undefined ? [] : _config$plugins, _config$options = _config.options, options = _config$options === undefined ? {} : _config$options; finalOptions = (0, _extends3.default)({ parser: _postcssSafeParser2.default }, options); if (!processor) { processor = (0, _postcss2.default)(plugins); } return _context.abrupt('return', processor.process(rawStyles, finalOptions)); case 19: case 'end': return _context.stop(); } } }, _callee, undefined, [[6, 12]]); })); return function processParsing(_x) { return _ref.apply(this, arguments); }; }(); exports.default = processParsing;