Add getLastMessage() for easier key/value storing.
This commit is contained in:
@@ -228,6 +228,21 @@ Cosmopolite.prototype.getMessages = function(subject) {
|
||||
return this.subscriptions_[subjectString].messages;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetch the most recent message for a subject
|
||||
*
|
||||
* @param {!string} subject Subject name
|
||||
* @const
|
||||
*/
|
||||
Cosmopolite.prototype.getLastMessage = function(subject) {
|
||||
var messages = this.getMessages(subject);
|
||||
if (messages.length) {
|
||||
return messages[messages.length - 1];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Fetch all current pins for a subject
|
||||
*
|
||||
|
||||
@@ -240,7 +240,7 @@ test('getMessages/subscribe', function() {
|
||||
});
|
||||
|
||||
asyncTest('subscribe barrier', function() {
|
||||
expect(3);
|
||||
expect(4);
|
||||
|
||||
var subject = randstring();
|
||||
var message = randstring();
|
||||
@@ -254,6 +254,7 @@ asyncTest('subscribe barrier', function() {
|
||||
equal(cosmo.getMessages(subject).length, 1, 'one message');
|
||||
equal(cosmo.getMessages(subject)[0]['subject']['name'], subject, 'subject matches');
|
||||
equal(cosmo.getMessages(subject)[0]['message'], message, 'message matches');
|
||||
deepEqual(cosmo.getMessages(subject)[0], cosmo.getLastMessage(subject), 'getLastMessage works');
|
||||
cosmo.shutdown();
|
||||
start();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user