backoffice/node_modules/clean-css/lib/text/free.js

27 lines
755 B
JavaScript

(function() {
var EscapeStore = require('./escape-store');
var QuoteScanner = require('./quote-scanner');
var Free = function Free() {
this.matches = new EscapeStore('FREE_TEXT');
};
// Strip content tags by replacing them by the a special
// marker for further restoring. It's done via string scanning
// instead of regexps to speed up the process.
Free.prototype.escape = function(data) {
var self = this;
return new QuoteScanner(data).each(function(match, store) {
var placeholder = self.matches.store(match);
store.push(placeholder);
});
};
Free.prototype.restore = function(data) {
return data.replace(this.matches.placeholderRegExp, this.matches.restore);
};
module.exports = Free;
})();