1234567891011121314151617181920212223242526 |
- (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;
- })();
|