UNPKG

eksi-sozluk

Version:
65 lines (54 loc) 935 B
/** * Collection base */ class CollectionBase { /** * Current page. * * @type {number} */ currPage /** * Total page count. * * @type {number} */ pageCount /** * Retrieve first page. */ async first () { this.currPage = 1 await this.retrieve() } /** * Retrieve last page. */ async last () { this.currPage = this.pageCount await this.retrieve() } /** * Retrieve next page. */ async next () { const isLastPage = this.currPage === this.pageCount if (isLastPage) { throw new Error('There is no page left.') } this.currPage += 1 await this.retrieve() } /** * Retrieve previous page. */ async prev () { const isFirstPage = this.currPage === 1 if (isFirstPage) { throw new Error('There is no page left.') } this.currPage -= 1 await this.retrieve() } } module.exports = CollectionBase