stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
56 lines • 2.46 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?.map(reaction => (0, _mapStorableToReaction.mapStorableToReaction)(reaction)) || [];
var ownReactions = latestReactions.filter(reaction => 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