Moves URL scanner into lib/urls/reduce.
authorJakub Pawlowicz <contact@jakubpawlowicz.com>
Tue, 21 Apr 2015 20:47:07 +0000 (21:47 +0100)
committerJakub Pawlowicz <contact@jakubpawlowicz.com>
Tue, 21 Apr 2015 20:47:07 +0000 (21:47 +0100)
Was named incorrectly before.

History.md
lib/text/urls-processor.js
lib/urls/reduce.js [moved from lib/utils/url-scanner.js with 83% similarity]
lib/urls/rewrite.js

index da124b9..525524c 100644 (file)
@@ -5,6 +5,7 @@
 * Cleans up tokenizer code getting rid of unnecessary state.
 * Moves source maps tracker into lib/source-maps/track.
 * Moves tokenizer code into lib/tokenizer.
+* Moves URL scanner into lib/urls/reduce (was named incorrectly before).
 * Moves URL rebasing & rewriting into lib/urls.
 * Fixed issue [#436](https://github.com/jakubpawlowicz/clean-css/issues/436) - refactors URI rewriting.
 
index 3f913ff..784b0fe 100644 (file)
@@ -1,5 +1,5 @@
 var EscapeStore = require('./escape-store');
-var UrlScanner = require('../utils/url-scanner');
+var reduceUrls = require('../urls/reduce');
 
 var lineBreak = require('os').EOL;
 
@@ -20,7 +20,7 @@ UrlsProcessor.prototype.escape = function (data) {
   var saveWaypoints = this.saveWaypoints;
   var self = this;
 
-  return new UrlScanner(data, this.context).reduce(function (url, tempData) {
+  return reduceUrls(data, this.context, function (url, tempData) {
     if (saveWaypoints) {
       breaksCount = url.split(lineBreak).length - 1;
       lastBreakAt = url.lastIndexOf(lineBreak);
similarity index 83%
rename from lib/utils/url-scanner.js
rename to lib/urls/reduce.js
index 79fb2ec..067e6f4 100644 (file)
@@ -2,18 +2,12 @@ var URL_PREFIX = 'url(';
 var UPPERCASE_URL_PREFIX = 'URL(';
 var URL_SUFFIX = ')';
 
-function UrlScanner(data, context) {
-  this.data = data;
-  this.context = context;
-}
-
-UrlScanner.prototype.reduce = function (callback) {
+function reduceUrls(data, context, callback) {
   var nextStart = 0;
   var nextStartUpperCase = 0;
   var nextEnd = 0;
   var cursor = 0;
   var tempData = [];
-  var data = this.data;
   var hasUppercaseUrl = data.indexOf(UPPERCASE_URL_PREFIX) > -1;
 
   for (; nextEnd < data.length;) {
@@ -42,7 +36,7 @@ UrlScanner.prototype.reduce = function (callback) {
       else
         nextEnd--;
 
-      this.context.warnings.push('Broken URL declaration: \'' + data.substring(nextStart, nextEnd + 1) + '\'.');
+      context.warnings.push('Broken URL declaration: \'' + data.substring(nextStart, nextEnd + 1) + '\'.');
     } else {
       if (data[nextEnd] != URL_SUFFIX)
         nextEnd = data.indexOf(URL_SUFFIX, nextEnd);
@@ -59,6 +53,6 @@ UrlScanner.prototype.reduce = function (callback) {
   return tempData.length > 0 ?
     tempData.join('') + data.substring(cursor, data.length) :
     data;
-};
+}
 
-module.exports = UrlScanner;
+module.exports = reduceUrls;
index bae44d1..c4c52bd 100644 (file)
@@ -1,7 +1,7 @@
 var path = require('path');
 var url = require('url');
 
-var UrlScanner = require('../utils/url-scanner');
+var reduceUrls = require('./reduce');
 
 var isWindows = process.platform == 'win32';
 
@@ -65,7 +65,7 @@ function rebase(uri, options) {
 }
 
 function rewriteUrls(data, options, context) {
-  return new UrlScanner(data, context).reduce(function (url, tempData) {
+  return reduceUrls(data, context, function (url, tempData) {
     url = url.replace(/^url\(\s*['"]?|['"]?\s*\)$/g, '');
     tempData.push('url(' + rebase(url, options) + ')');
   });