stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
59 lines • 2.59 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.mapStorableToMessage = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _mapStorableToPoll = require("./mapStorableToPoll");
var _mapStorableToReaction = require("./mapStorableToReaction");
var _mapStorableToReminder = require("./mapStorableToReminder");
var _mapStorableToUser = require("./mapStorableToUser");
var _excluded = ["createdAt", "deletedAt", "deletedForMe", "extraData", "messageTextUpdatedAt", "poll_id", "reactionGroups", "shared_location", "updatedAt", "user"];
var mapStorableToMessage = ({
currentUserId,
messageRow,
pollRow,
reactionRows,
reminderRow
}) => {
var createdAt = messageRow.createdAt,
deletedAt = messageRow.deletedAt,
deletedForMe = messageRow.deletedForMe,
extraData = messageRow.extraData,
messageTextUpdatedAt = messageRow.messageTextUpdatedAt,
poll_id = messageRow.poll_id,
reactionGroups = messageRow.reactionGroups,
shared_location = messageRow.shared_location,
updatedAt = messageRow.updatedAt,
user = messageRow.user,
rest = (0, _objectWithoutProperties2.default)(messageRow, _excluded);
var latestReactions = (reactionRows == null ? void 0 : reactionRows.map(reaction => (0, _mapStorableToReaction.mapStorableToReaction)(reaction))) || [];
var ownReactions = latestReactions.filter(reaction => {
var _reaction$user;
return ((_reaction$user = reaction.user) == null ? void 0 : _reaction$user.id) === currentUserId;
});
return {
...rest,
attachments: messageRow.attachments ? JSON.parse(messageRow.attachments) : [],
created_at: createdAt,
deleted_at: deletedAt,
deleted_for_me: deletedForMe,
latest_reactions: latestReactions,
message_text_updated_at: messageTextUpdatedAt,
own_reactions: ownReactions,
poll_id,
reaction_groups: reactionGroups ? JSON.parse(reactionGroups) : {},
shared_location: shared_location ? JSON.parse(shared_location) : null,
updated_at: updatedAt,
user: (0, _mapStorableToUser.mapStorableToUser)(user),
...(pollRow ? {
poll: (0, _mapStorableToPoll.mapStorableToPoll)(pollRow)
} : {}),
...(extraData ? JSON.parse(extraData) : {}),
...(reminderRow ? {
reminder: (0, _mapStorableToReminder.mapStorableToReminder)(reminderRow)
} : {})
};
};
exports.mapStorableToMessage = mapStorableToMessage;
//# sourceMappingURL=mapStorableToMessage.js.map