messageQueue.js 508 B

123456789101112131415161718192021222324252627282930
  1. class MessageQueue {
  2. constructor (id) {
  3. this._id = id;
  4. this._lastReadAt = new Date().getTime();
  5. this._messages = [];
  6. }
  7. getLastReadAt () {
  8. return this._lastReadAt;
  9. }
  10. addMessage (message) {
  11. this._messages.push(message);
  12. }
  13. readMessage () {
  14. if (this._messages.length > 0) {
  15. this._lastReadAt = new Date().getTime();
  16. return this._messages.shift();
  17. }
  18. return null;
  19. }
  20. getMessages () {
  21. return this._messages;
  22. }
  23. }
  24. module.exports = MessageQueue;