scss-extract
Version:
Extract structured variables from scss files. Fast and accurate.
47 lines (38 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.render = render;
exports.renderSync = renderSync;
var _sass = require('sass');
var _sass2 = _interopRequireDefault(_sass);
var _extract = require('./extract');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Render with sass using provided compile options and augment variable extraction
*/
function render() {
var compileOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var extractOptions = arguments[1];
return new Promise(function (res, rej) {
_sass2.default.render(compileOptions, function (err, rendered) {
if (err) rej(err);
res(rendered);
});
}).then(function (rendered) {
return (0, _extract.extract)(rendered, { compileOptions: compileOptions, extractOptions: extractOptions }).then(function (vars) {
rendered.vars = vars;
return rendered;
});
});
}
/**
* Render synchronously with sass using provided compile options and augment variable extraction
*/
function renderSync() {
var compileOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var extractOptions = arguments[1];
var rendered = _sass2.default.renderSync(compileOptions);
rendered.vars = (0, _extract.extractSync)(rendered, { compileOptions: compileOptions, extractOptions: extractOptions });
return rendered;
}