newpct-scrapper
Version:
Utilidades para newpct
48 lines (34 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _bytes = require('bytes');
var _bytes2 = _interopRequireDefault(_bytes);
var _torrentToMagnet = require('./torrentToMagnet');
var _torrentToMagnet2 = _interopRequireDefault(_torrentToMagnet);
var _getTorrentPage = require('./getTorrentPage');
var _getTorrentPage2 = _interopRequireDefault(_getTorrentPage);
var _torrentPageParser = require('./torrentPageParser');
var _torrentPageParser2 = _interopRequireDefault(_torrentPageParser);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class Torrent {
constructor(title, size, link) {
this.title = title;
this.size = (0, _bytes2.default)(size);
this.link = link;
this._url = null;
this._magnet = null;
}
get url() {
if (this._url) return new Promise.resolve(this._url);
return (0, _getTorrentPage2.default)(this.link).then(html => (0, _torrentPageParser2.default)(html)).then(url => this._url = url);
}
get formatSize() {
return (0, _bytes2.default)(this.size);
}
get magnet() {
if (this._magnet) return new Promise.resolve(this._magnet);
return this.url.then(url => (0, _torrentToMagnet2.default)(url)).then(magnet => this._magnet = magnet);
}
}
exports.default = Torrent;