From: Jakub Pawlowicz Date: Tue, 21 Apr 2015 20:47:07 +0000 (+0100) Subject: Moves URL scanner into lib/urls/reduce. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=721d152c96b064a1ddd64d603773ebe389847f0e;p=clean-css.git Moves URL scanner into lib/urls/reduce. Was named incorrectly before. --- diff --git a/History.md b/History.md index da124b95..525524c8 100644 --- a/History.md +++ b/History.md @@ -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. diff --git a/lib/text/urls-processor.js b/lib/text/urls-processor.js index 3f913ff4..784b0fea 100644 --- a/lib/text/urls-processor.js +++ b/lib/text/urls-processor.js @@ -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); diff --git a/lib/utils/url-scanner.js b/lib/urls/reduce.js similarity index 83% rename from lib/utils/url-scanner.js rename to lib/urls/reduce.js index 79fb2ec5..067e6f47 100644 --- a/lib/utils/url-scanner.js +++ b/lib/urls/reduce.js @@ -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; diff --git a/lib/urls/rewrite.js b/lib/urls/rewrite.js index bae44d10..c4c52bda 100644 --- a/lib/urls/rewrite.js +++ b/lib/urls/rewrite.js @@ -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) + ')'); });