UNPKG

newpct-scrapper

Version:
48 lines (34 loc) 1.32 kB
'use strict'; 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;