You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/** * Module dependencies. */
var css = require('css'); var convertSourceMap = require('convert-source-map'); var parse = css.parse; var stringify = css.stringify;
/** * Expose `rework`. */
exports = module.exports = rework;
/** * Initialize a new stylesheet `Rework` with `str`. * * @param {String} str * @param {Object} options * @return {Rework} * @api public */
function rework(str, options) { return new Rework(parse(str, options)); }
/** * Initialize a new stylesheet `Rework` with `obj`. * * @param {Object} obj * @api private */
function Rework(obj) { this.obj = obj; }
/** * Use the given plugin `fn(style, rework)`. * * @param {Function} fn * @return {Rework} * @api public */
Rework.prototype.use = function(fn){ fn(this.obj.stylesheet, this); return this; };
/** * Stringify the stylesheet. * * @param {Object} options * @return {String} * @api public */
Rework.prototype.toString = function(options){ options = options || {}; var result = stringify(this.obj, options); if (options.sourcemap && !options.sourcemapAsObject) { result = result.code + '\n' + sourcemapToComment(result.map); } return result; };
/** * Convert sourcemap to base64-encoded comment * * @param {Object} map * @return {String} * @api private */
function sourcemapToComment(map) { var content = convertSourceMap.fromObject(map).toBase64(); return '/*# sourceMappingURL=data:application/json;base64,' + content + ' */'; }
|