Skip to content

Commit 0bec5b8

Browse files
committed
Refactor checking resource type
1 parent 448514f commit 0bec5b8

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

lib/file-handlers/html.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
var cheerio = require('cheerio');
22
var Promise = require('bluebird');
33
var utils = require('../utils');
4-
var types = require('../config/resource-types');
54

65
function loadHtml (context, resource) {
76
var sources = context.getHtmlSources();
@@ -57,7 +56,7 @@ function loadResources (context, resource, source) {
5756
var relativePath = utils.getRelativePath(filename, loadedResource.getFilename());
5857
var hash = utils.getHashFromUrl(attr);
5958

60-
if (hash && loadedResource.getType() === types.html) {
59+
if (hash && loadedResource.isHtml()) {
6160
relativePath = relativePath.concat(hash);
6261
}
6362

lib/resource.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,20 +74,28 @@ Resource.prototype.setHtmlData = function setHtmlData (data) {
7474

7575
Resource.prototype.getType = function getType () {
7676
var ext = path.extname(this.filename);
77-
var parentType = this.parent && this.parent.getType();
77+
var parent = this.parent;
7878
var hasHtmlData = !!this.htmlData;
7979

8080
switch (true) {
81-
case ext == '.html' || ext == '.htm':
81+
case ext === '.html' || ext === '.htm':
8282
return types.html;
83-
case ext == '.css':
84-
case !ext && parentType == types.css:
83+
case ext === '.css':
84+
case !ext && parent && parent.isCss():
8585
return types.css;
86-
case !ext && parentType == types.html && hasHtmlData:
86+
case !ext && parent && parent.isHtml() && hasHtmlData:
8787
return getTypeByHtmlData(this.htmlData);
8888
default:
8989
return types.other;
9090
}
9191
};
9292

93+
Resource.prototype.isHtml = function isHtml () {
94+
return this.getType() === types.html;
95+
};
96+
97+
Resource.prototype.isCss = function isCss () {
98+
return this.getType() === types.css;
99+
};
100+
93101
module.exports = Resource;

lib/scraper.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ var path = require('path');
99
var _ = require('underscore');
1010

1111
var defaults = require('./config/defaults');
12-
var types = require('./config/resource-types');
1312
var recursiveSources = require('./config/recursive-sources');
1413
var utils = require('./utils.js');
1514
var request = require('./request');
@@ -84,14 +83,13 @@ Scraper.prototype.getDirectoryByExtension = function getDirectoryByExtension (ex
8483

8584
Scraper.prototype.getResourceHandler = function getHandler (resource) {
8685
var self = this;
87-
var type = resource.getType();
8886
var depth = resource.getDepth();
8987
var depthGreaterThanMax = self.options.maxDepth && depth >= self.options.maxDepth;
9088

9189
switch (true) {
9290
case depthGreaterThanMax: return _.noop;
93-
case type == types.css: return loadCss;
94-
case type == types.html: return loadHtmlAndCss;
91+
case resource.isCss(): return loadCss;
92+
case resource.isHtml(): return loadHtmlAndCss;
9593
default: return _.noop;
9694
}
9795
};

0 commit comments

Comments
 (0)