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.

44 lines (30 loc) • 1.72 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extractExpressions = require('./extract-expressions'); var _extractExpressions2 = _interopRequireDefault(_extractExpressions); var _restoreExpressions = require('./restore-expressions'); var _restoreExpressions2 = _interopRequireDefault(_restoreExpressions); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } exports.default = function (_ref) { var prepare = _ref.prepare, parse = _ref.parse, finalize = _ref.finalize, options = _objectWithoutProperties(_ref, ['prepare', 'parse', 'finalize']); var extractFunc = options.extractExpressions || _extractExpressions2.default; var restoreFunc = options.restoreExpressions || _restoreExpressions2.default; return function (chunks) { for (var _len = arguments.length, variables = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { variables[_key - 1] = arguments[_key]; } var _extractFunc = extractFunc.apply(undefined, [chunks].concat(variables)), rawStyles = _extractFunc.rawStyles, expressions = _extractFunc.expressions; var prepared = typeof prepare === 'function' ? prepare(rawStyles) : rawStyles; var parsed = parse(prepared); // throw error if parse() is not defined properly var finalParsed = restoreFunc(parsed, expressions); return typeof finalize === 'function' ? finalize(finalParsed) : finalParsed; }; };