UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

51 lines 1.59 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.addReactionToLocalState = void 0; var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _apis = require("../store/apis"); var addReactionToLocalState = exports.addReactionToLocalState = function () { var _ref = (0, _asyncToGenerator2.default)(function* ({ channel, enforceUniqueReaction, messageId, reactionType, user }) { var message = channel.state.messages.find(({ id }) => id === messageId); if (!message) { return; } var reaction = { created_at: new Date().toISOString(), message_id: messageId, type: reactionType, updated_at: new Date().toISOString(), user, user_id: user == null ? void 0 : user.id }; var hasOwnReaction = message.own_reactions && message.own_reactions.length > 0; var messageWithReaction = channel.state.addReaction(reaction, undefined, enforceUniqueReaction); if (!messageWithReaction) { return; } if (enforceUniqueReaction && hasOwnReaction) { yield (0, _apis.updateReaction)({ message: messageWithReaction, reaction }); } else { yield (0, _apis.insertReaction)({ message: messageWithReaction, reaction }); } }); return function addReactionToLocalState(_x) { return _ref.apply(this, arguments); }; }(); //# sourceMappingURL=addReactionToLocalState.js.map