| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- import { ADD_MESSAGE, SET_LAST_READ_MESSAGE } from './actionTypes';
 - 
 - /* eslint-disable max-params */
 - 
 - /**
 -  * Adds a chat message to the collection of messages.
 -  *
 -  * @param {string} userName - The username to display of the participant that
 -  * authored the message.
 -  * @param {string} message - The received message to display.
 -  * @param {string} timestamp - A timestamp to display for when the message was
 -  * received.
 -  * @param {boolean} hasRead - Whether or not to immediately mark the message as
 -  * read.
 -  * @returns {{
 -  *     type: ADD_MESSAGE,
 -  *     hasRead: boolean,
 -  *     message: string,
 -  *     timestamp: string,
 -  *     userName: string
 -  * }}
 -  */
 - export function addMessage(userName, message, timestamp, hasRead) {
 -     return {
 -         type: ADD_MESSAGE,
 -         hasRead,
 -         message,
 -         timestamp,
 -         userName
 -     };
 - }
 - 
 - /* eslint-enable max-params */
 - 
 - /**
 -  * Sets the last read message cursor to the latest message.
 -  *
 -  * @returns {Function}
 -  */
 - export function markAllRead() {
 -     return (dispatch, getState) => {
 -         const { messages } = getState()['features/chat'];
 - 
 -         dispatch(setLastReadMessage(messages[messages.length - 1]));
 -     };
 - }
 - 
 - /**
 -  * Updates the last read message cursor to be set at the passed in message. The
 -  * assumption is that messages will be ordered chronologically.
 -  *
 -  * @param {Object} message - The message from the redux state.
 -  * @returns {{
 -  *     type: SET_LAST_READ_MESSAGE,
 -  *     message: Object
 -  * }}
 -  */
 - export function setLastReadMessage(message) {
 -     return {
 -         type: SET_LAST_READ_MESSAGE,
 -         message
 -     };
 - }
 
 
  |