UNPKG

eksi-sozluk

Version:
71 lines (61 loc) 1.19 kB
const Image = require('./Image') const { URLS } = require('../constants') /** * Image collection. */ class ImageCollection { /** * Image count. * * @type {number} */ imageCount /** * Images. * * @type {Array<Image>} */ images = [] /** * Image owner. * * @type {string} */ username /** * Create image collection. * * @param {object} request Axios client. * @param {string} username Username. */ constructor (request, username) { this._request = request this.username = username } /** * Retrieve image collection. * * @returns {Promise} Promise. */ retrieve () { return new Promise((resolve, reject) => { const requestOptions = { endpoint: URLS.USER_IMAGES, ajax: true, params: { nick: this.username } } this._request(requestOptions, $ => { $('ul li a').each((i, elm) => { const image = new Image() image.serialize($, elm) this.images.push(image) }) this.imageCount = this.images.length resolve() }) }) } } module.exports = ImageCollection