bs-broken-links-checker
Version:
Broken links checker tool fow web sites
112 lines (91 loc) • 2.28 kB
JavaScript
;
var _createClass = require('babel-runtime/helpers/create-class')['default'];
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _cheerio = require('cheerio');
var _cheerio2 = _interopRequireDefault(_cheerio);
var _url = require('url');
var _url2 = _interopRequireDefault(_url);
/**
* @exports
* @class Document
* @desc Model for loaded document from link url request
*/
var Document = (function () {
/**
* Constructor function
* @param {String} url - request url
* @param {HttpResponse} res - response object
* @constructor
*/
function Document(url, res) {
_classCallCheck(this, Document);
/**
* Response object
* @type {HttpResponse|HttpsResponse} - respose object
*/
this._res = res;
/**
* Url document has been loaded from
* @type {String}
*/
this._url = url;
/**
* Cheerio
* @param {String} res.toString('utf-8') response html data string
* @return {Function} cherio tree function
*/
try {
this._$ = _cheerio2['default'].load(res.toString('utf-8'));
} catch (error) {
this._$ = _cheerio2['default'].load('');
}
}
/**
* Returns response object
* @returns {HttpResponse|HttpsResponse}
* @public
*/
_createClass(Document, [{
key: 'resolve',
/**
* Resolves parsed link against document url
* @param {String} link - document link
* @public
*/
value: function resolve(link) {
return _url2['default'].resolve(this._url, link);
}
}, {
key: 'res',
get: function get() {
return this._res;
}
/**
* Returns document url
* @returns {String}
* @public
*/
}, {
key: 'url',
get: function get() {
return this._url;
}
/**
* Parses response body parsed by cheerio
* @returns {*|any|Object|undefined}
* @public
*/
}, {
key: '$',
get: function get() {
return this._$;
}
}]);
return Document;
})();
exports['default'] = Document;
module.exports = exports['default'];