UNPKG

eksi-sozluk

Version:
89 lines (78 loc) 1.44 kB
const { URLS } = require('../constants') const UserForMember = require('./UserForMember') /** * Followed user title. */ class FollowedUserTitle { /** * Title ID. * * @type {number} */ id /** * Title name. * * @type {string} */ name /** * Title URL. * * @type {string} */ url /** * Title slug. * * @type {string} */ slug /** * Title owner. * * @type {UserForMember} */ owner /** * Create title. * * @param {object} request Axios client. * @param {string} cookies Cookie string. */ constructor (request, cookies) { this._request = request this._cookies = cookies } /** * Parse properties with given document. * * @param {object} $ Cheerio document. * @param {object} elm Cheerio element. * @ignore */ serialize ($, elm) { const name = $(elm) .text() .trim() const owner = $(elm) .find('a div') .text() .trim() const slug = $(elm) .find('a') .attr('href') .split('?')[0] .replace('/', '') this.id = parseInt(slug.split('--')[1]) this.name = name.substring(0, name.length - owner.length).trim() this.url = URLS.BASE + $(elm) .find('a') .attr('href') this.slug = slug this.owner = new UserForMember(this._request, owner, this._cookies) } } module.exports = FollowedUserTitle