UNPKG

eksi-sozluk

Version:
68 lines (60 loc) 1.19 kB
const { URLS } = require('../constants') /** * Question. */ class Question { /** * Title name. * * @type {string} */ title /** * Question title. * * @type {string} */ questionTitle /** * Question URL. * * @type {string} */ questionLink /** * Answer count, null means 0 or 1. * * @type {(number|null)} */ answerCount /** * Parse properties with given document. * * @param {object} $ Cheerio document. * @param {object} elm Cheerio element. * @ignore */ serialize ($, elm) { const title = $(elm) .find('div') .text() const answerCountStr = $(elm) .find('small') .text() const answerCount = parseInt(answerCountStr) const questionTitle = $(elm) .text() .split(title)[0] this.title = title.substring(1, title.length - 1) this.questionTitle = questionTitle.substring(0, questionTitle.length).trim() this.questionLink = URLS.BASE + $(elm) .find('a') .attr('href') this.answerCount = answerCountStr.includes('b') ? 1000 * answerCount : answerCount || null } } module.exports = Question