UNPKG

bs-broken-links-checker

Version:
112 lines (91 loc) 2.28 kB
'use strict'; 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'];