UNPKG

meses-messaging

Version:

Meses messaging SDK in JavaScript

44 lines (38 loc) 1.21 kB
class PreviousMessageListQuery { constructor(service, conversationName, next) { this._service = service this._conversationName = conversationName this._next = next this._reachEnd = false } /** * Load some message items ordered by messageId (timestamp) * * @param {Number} items - number of items to load * @return {Promise} array of messages if fulfilled. */ load(items) { if (this._reachEnd) return new Promise(function(resolve, reject) { resolve([]) }) const service = this._service const conversationName = this._conversationName const next = this._next return new Promise(function(resolve, reject) { service.getMessages(conversationName, next, items) .then(result => { if (result.nextMessageId == null) this._reachEnd = true this._next = result.nextMessageId resolve(result.messages) }) .catch(err => reject(err)) }.bind(this)) } /** * Predicate for checking whether the query can load more message * * @return {Boolean} TRUE if query can load more message */ hasMore() { return !this._reachEnd } } export default PreviousMessageListQuery