Files
discord-decomp/sources/modules/messages/native/createChannelStream.tsx
T
2026-07-27 16:20:00 +03:00

757 lines
29 KiB
TypeScript

/* Metro module 11518; source: modules/messages/native/createChannelStream.tsx; dependencies: [11322, 7075, 7223, 8178, 661, 21, 11519, 11520, 1244, 3826, 8228, 5260, 6860, 2] */
function _fun88186(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:6, offset: 0x01fd836d, size: 246 bytes, params: 8, frame: 19
const env0_0 = require;
const _arrayLikeToArray_88189 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const pushFeedbackStore = importDefault(11322) /* metro dependency 11322: PushFeedbackStore */;
const editMessageStore = importDefault(7075) /* metro dependency 7075: EditMessageStore */;
const uploadStore = importDefault(7223) /* metro dependency 7223: UploadStore */;
const rowGeneratorConstantsModule = require(8178) /* metro dependency 8178: RowGeneratorConstants */;
const env0_6 = rowGeneratorConstantsModule.Changeset;
const env0_7 = rowGeneratorConstantsModule.LoadingType;
const env0_8 = rowGeneratorConstantsModule.RowType;
const env0_9 = rowGeneratorConstantsModule.SeparatorType;
const env0_10 = (require(661) /* metro dependency 661: Constants */).MessageFlags;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/native/createChannelStream.tsx');
exports.default = createChannelStream;
}
function _createForOfIteratorHelperLoose_88187(a0, a1) { // fn#88187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:229, offset: 0x01fd8463, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun88188;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_88189(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_88189(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_88189(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun88188;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function createChannelStream({channel, messages, uploads, oldestUnreadMessageId, replyingMessageId, currentUserId, canAddNewReactions, selectedSummary, chatManager, roleStyle, forceRender, updateMessageIds, isResourceChannel, unloadableContentEntryMessageIds}) { // fn#88190, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:1233, offset: 0x01fd85d7, size: 558 bytes, params: 2, frame: 23
var r8;
var nonce;
var value6;
var getMessageForFile;
var id;
var value7;
var value8;
var push;
var object3;
var intl;
const items3 = [];
const object4 = {};
const _createForOfIteratorHelperLoose_88187Binding = _createForOfIteratorHelperLoose_88187;
const value3 = uploads.slice();
const value4 = _createForOfIteratorHelperLoose_88187Binding(value3.reverse());
const value5 = value4();
let done = value5.done;
if (!done) {
r8 = value5;
while (true) {
value6 = r8.value;
getMessageForFile = UploadStore.getMessageForFile;
id = value6.id;
value7 = Reflect.apply(getMessageForFile, UploadStore, [id]);
nonce = value7?.nonce;
if (nonce == null) {
continue;
}
nonce = value7.nonce;
object4[nonce] = value6;
value8 = value4();
done = value8.done;
if (done) {
break;
}
r8 = value8;
continue;
}
}
const items2 = [];
messages.forEach(_fun88193);
items2.forEach(_fun88195);
if (items2.length === 0 && !messages.loadingMore && (messages.hasMoreAfter || messages.hasMoreBefore)) {
push = items3.push;
object3 = {};
object3.rowType = messages.hasMoreBefore ? LoadingType.LOAD_BEFORE : LoadingType.LOAD_AFTER;
object3.changeType = forceRender ? Changeset.UPDATE : Changeset.NOOP;
object3.roleStyle = roleStyle;
object3.isLoading = messages.loadingMore;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object3.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.XBlaiC);
Reflect.apply(push, items3, [object3]);
}
return items3;
}
function unreadFilter(a0) { // fn#88191, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:1706, owner: createChannelStream.unreadFilter, offset: 0x01fd8805, size: 106 bytes, params: 2, frame: 15
var r1;
var r0;
var value3;
var defaultImport;
const isForumPost2 = channel.isForumPost();
let id = a0.id;
const value2 = id === oldestUnreadMessageId;
if (isForumPost2) {
if (value2) {
id = a0.id;
value3 = environment.__proto__;
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
r1 = id !== defaultImport.castChannelIdAsMessageId(channel.id);
} else {
r1 = value2;
}
r0 = r1;
} else {
r0 = value2;
}
return r0;
}
function insertMessage(a0) { // fn#88192, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:1810, owner: createChannelStream.insertMessage, offset: 0x01fd886f, size: 154 bytes, params: 2, frame: 18
var property2;
var value2;
const property = env0_16[0];
if (property == null) {
env0_16.unshift([a0]);
} else if (unreadFilter(a0)) {
env0_16.unshift([a0]);
} else {
property2 = property[property.length - 1];
value2 = environment.__proto__;
if ((importDefault(11519) /* metro dependency 11519: isNewMessageGroup */)(channel, property2, a0)) {
env0_16.unshift([a0]);
} else {
property.unshift(a0);
}
}
}
function _fun88193(a0) { // fn#88193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:1950, offset: 0x01fd8909, size: 161 bytes, params: 2, frame: 17
var oldestUnreadMessageIdBinding;
var id;
let value = environment.__proto__;
value = Reflect.apply((require(11520) /* metro dependency 11520: tryInjectMessage */).tryCreateInjectedMessage,
value, [a0, channel]);
if (value != null && value.position === 'before') {
insertMessage(value.message);
oldestUnreadMessageIdBinding = oldestUnreadMessageId;
id = a0.id;
if (oldestUnreadMessageIdBinding === id) {
id = value.message.id;
}
}
insertMessage(a0);
if (value != null && value.position === 'after') {
insertMessage(value.message);
}
}
function createChannelStreamDetermineChangeType(a0) { // fn#88194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:2185, owner: createChannelStream.determineChangeType, offset: 0x01fd89aa, size: 59 bytes, params: 2, frame: 15
const value = a1;
return chatManager.determineChangeType({message: a0, updateMessageIds: updateMessageIds, forceRender: forceRender},
value !== undefined ? value : false);
}
function _fun88195(a0, a1) { // fn#88195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:2283, offset: 0x01fd89e5, size: 2491 bytes, params: 3, frame: 42
var environment;
var r6;
var r7;
var r3;
var r13;
var r25;
var r26;
var r23;
var r12;
var r30;
var r29;
var pushType;
var r15;
var r10;
var binding;
var push;
var value4;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value8;
var moduleValue;
var value16;
var value17;
var done;
var value18;
var value19;
var isEditing;
var id;
var id2;
var isEditing2;
var value20;
var getPushFeedback;
var channel_id;
var value21;
var moduleValue2;
var canReplyToMessage2;
var defaultImport;
var value22;
var moduleValue3;
var isNonModInLockedThread;
var value23;
var hasOwnProperty;
var channelStreamDetermineChangeType;
var property3;
var value24;
var value25;
var endId;
var value26;
var count;
var value27;
var SUMMARY;
var isSystemDM2;
var isSystemDM3;
var value28;
var isResourceChannelBinding;
var value29;
var isForumPost2;
var defaultImport2;
var castChannelIdAsMessageId;
var id3;
var value30;
var value31;
var value32;
var MESSAGE;
var unloadableContentEntryMessageIdsBinding;
var has;
var value33;
var value34;
var startId;
var value35;
var value36;
var value37;
var channelStreamDetermineChangeType2;
var object6;
var channelStreamDetermineChangeType3;
var object7;
var channelStreamDetermineChangeType4;
var object8;
var channelStreamDetermineChangeType5;
var moduleValue4;
const env0_0 = a0;
const property = a0[a0.length - 1];
const value2 = a1 === env0_16.length - 1;
if (a1 === 0 && messages.hasMoreAfter) {
binding = env0_13;
push = binding.push;
value4 = environment.__proto__;
Reflect.apply(push, binding, [{rowType: LoadingType.LOAD_AFTER,
changeType: forceRender ? Changeset.UPDATE : Changeset.NOOP, roleStyle: roleStyle,
isLoading: messages.loadingMore, text: intl.string(t.XBlaiC)}]);
}
let r1 = messages.hasMoreBefore && value2;
const unreadFilterBinding = unreadFilter;
const value5 = undefined;
const value6 = unreadFilterBinding(property);
const value7 = null;
if (value2) {
r6 = channel.isDM() && !messages.hasMoreBefore;
r6 = r6 && value2;
if (!r6) {
r7 = channel.isThread() && !channel.isForumPost();
r7 = r7 && !messages.hasMoreBefore;
r7 = r7 && value2;
r6 = r7;
}
r3 = r6 && true;
} else {
value8 = environment.__proto__;
moduleValue = require(3826) /* metro dependency 3826: DateUtils */;
if (moduleValue.isSameDay(property.timestamp, value2 ? value7 : env0_16[a1 + 1][0].timestamp)) {
r6 = channel.isDM() && !messages.hasMoreBefore;
r6 = r6 && value2;
if (!r6) {
r7 = channel.isThread() && !channel.isForumPost();
r7 = r7 && !messages.hasMoreBefore;
r7 = r7 && value2;
r6 = r7;
}
r3 = r6 && true;
} else {
r3 = true;
}
}
const closure = processHiddenMessageRow;
let object5 = {'roleStyle': null, 'message': null, 'isFirst': true, 'content': null, 'text': '', 'revealed': false};
object5.roleStyle = roleStyle;
object5.message = property;
object5.content = [];
binding = env0_13;
const property2 = binding[binding.length - 1];
const hasFlag = property.hasFlag;
const HIDDEN_SUSPENDED_USER = MessageFlags.HIDDEN_SUSPENDED_USER;
if (Reflect.apply(hasFlag, property, [HIDDEN_SUSPENDED_USER])) {
if (value7 == property2) {
channelStreamDetermineChangeType4 = createChannelStreamDetermineChangeType(property);
object8 = {};
copyDataProperties(object8, object5, undefined);
object8['rowType'] = RowType.SUSPENDED_USER_GROUP;
object8['changeType'] = channelStreamDetermineChangeType4;
object8['canUncollapse'] = false;
env0_13.push(object8);
r7 = object8;
} else if (property2.rowType === RowType.SUSPENDED_USER_GROUP) {
r7 = property2;
} else {
channelStreamDetermineChangeType4 = createChannelStreamDetermineChangeType(property);
object8 = {};
copyDataProperties(object8, object5, undefined);
object8['rowType'] = RowType.SUSPENDED_USER_GROUP;
object8['changeType'] = channelStreamDetermineChangeType4;
object8['canUncollapse'] = false;
env0_13.push(object8);
r7 = object8;
}
closure(r7);
r7.text = intl.formatToPlainString(t.rHRovo, {count: r7.content.length});
} else if (property.blocked) {
if (value7 == property2) {
channelStreamDetermineChangeType3 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType3 === Changeset.NOOP && chatManager.getBlocked(property) ? Changeset.INSERT : channelStreamDetermineChangeType3;
object7 = {};
copyDataProperties(object7, object5, undefined);
object7['rowType'] = RowType.BLOCKED_GROUP;
object7['changeType'] = r15;
env0_13.push(object7);
r13 = object7;
} else if (property2.rowType === RowType.BLOCKED_GROUP) {
r13 = property2;
} else {
channelStreamDetermineChangeType3 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType3 === Changeset.NOOP && chatManager.getBlocked(property) ? Changeset.INSERT : channelStreamDetermineChangeType3;
object7 = {};
copyDataProperties(object7, object5, undefined);
object7['rowType'] = RowType.BLOCKED_GROUP;
object7['changeType'] = r15;
env0_13.push(object7);
r13 = object7;
}
closure(r13);
r13.text = intl.formatToPlainString(t['+FcYM/'], {count: r13.content.length});
} else if (property.ignored) {
if (value7 == property2) {
channelStreamDetermineChangeType2 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType2 === Changeset.NOOP && chatManager.getIgnored(property) ? Changeset.INSERT : channelStreamDetermineChangeType2;
object6 = {};
copyDataProperties(object6, object5, undefined);
object6['rowType'] = RowType.IGNORED_GROUP;
object6['changeType'] = r15;
env0_13.push(object6);
r13 = object6;
} else if (property2.rowType === RowType.IGNORED_GROUP) {
r13 = property2;
} else {
channelStreamDetermineChangeType2 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType2 === Changeset.NOOP && chatManager.getIgnored(property) ? Changeset.INSERT : channelStreamDetermineChangeType2;
object6 = {};
copyDataProperties(object6, object5, undefined);
object6['rowType'] = RowType.IGNORED_GROUP;
object6['changeType'] = r15;
env0_13.push(object6);
r13 = object6;
}
closure(r13);
r13.text = intl.formatToPlainString(t['VFWjc+'], {count: r13.content.length});
} else {
value16 = _createForOfIteratorHelperLoose_88187(a0);
value17 = value16();
done = value17.done;
if (!done) {
r13 = value17;
while (true) {
value18 = r13.value;
value19 = value18 !== property;
isEditing = EditMessageStore.isEditing;
id = channel.id;
id2 = value18.id;
isEditing2 = Reflect.apply(isEditing, EditMessageStore, [id, id2]);
if (isEditing2) {
r25 = isEditing2;
} else {
value20 = replyingMessageId === value18.id;
r25 = value20;
}
getPushFeedback = PushFeedbackStore.getPushFeedback;
channel_id = value18.channel_id;
id = value18.id;
value21 = Reflect.apply(getPushFeedback, PushFeedbackStore, [channel_id, id]);
moduleValue2 = require(8228) /* metro dependency 8228: canReplyToMessage */;
canReplyToMessage2 = moduleValue2.canReplyToMessage(channel, value18);
defaultImport = importDefault(5260) /* metro dependency 5260: canEditMessage */;
value22 = defaultImport(value18, currentUserId);
if (!value22) {
r26 = value22;
continue;
}
moduleValue3 = require(6860) /* metro dependency 6860: ThreadHooks */;
isNonModInLockedThread = moduleValue3.isNonModInLockedThread;
value23 = !Reflect.apply(isNonModInLockedThread, moduleValue3, [channel]);
r26 = value23;
binding = env0_14;
hasOwnProperty = binding.hasOwnProperty;
id = value18.id;
if (Reflect.apply(hasOwnProperty, binding, [id])) {
property3 = env0_14[value18.id];
value24 = chatManager.determineChangeTypeForUploadProgress(property3);
r23 = value24;
} else {
channelStreamDetermineChangeType = createChannelStreamDetermineChangeType(value18, true);
r23 = channelStreamDetermineChangeType;
}
value25 = value7 != selectedSummary;
if (!value25) {
r12 = value25;
continue;
}
endId = selectedSummary.endId;
id = value18.id;
value26 = endId === id;
r12 = value26;
if (!r12) {
continue;
}
count = selectedSummary.count;
value27 = count > 1;
r12 = value27;
if (!r12) {
continue;
}
binding = env0_13;
push = binding.push;
object5 = {};
SUMMARY = SeparatorType.SUMMARY;
object5.rowType = SUMMARY;
object5.changeType = createChannelStreamDetermineChangeType(value18);
object5.roleStyle = roleStyle;
object5.summary = selectedSummary;
object5.isBeforeContent = false;
Reflect.apply(push, binding, [object5]);
binding = env0_13;
push = binding.push;
object5 = {};
object5.roleStyle = roleStyle;
object5.message = value18;
isSystemDM2 = channel.isSystemDM();
if (!isSystemDM2) {
r30 = isSystemDM2;
continue;
}
isSystemDM3 = value18.isSystemDM();
r30 = isSystemDM3;
object5.isSystemDM = r30;
object5.isFirst = value18 === property;
object5.isEditing = r25;
value28 = !value19;
if (value19) {
r25 = value28;
continue;
}
value29 = !isResourceChannel;
r25 = value29;
if (!r25) {
continue;
}
if (r3) {
r29 = r3;
continue;
}
r29 = value6;
continue;
if (r29) {
continue;
}
r29 = r1;
continue;
r25 = r29;
object5.separatorBefore = r25;
object5.canAddNewReactions = canAddNewReactions;
isForumPost2 = channel.isForumPost();
if (!isForumPost2) {
r25 = isForumPost2;
continue;
}
id = value18.id;
defaultImport2 = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
castChannelIdAsMessageId = defaultImport2.castChannelIdAsMessageId;
id3 = channel.id;
value30 = id === Reflect.apply(castChannelIdAsMessageId, defaultImport2, [id3]);
r25 = value30;
object5.alwaysShowAddReaction = r25;
object5.renderContentOnly = isResourceChannel;
if (value7 == value21) {
pushType = value5;
continue;
}
pushType = value21.pushType;
object5.pushFeedbackType = pushType;
isResourceChannelBinding = isResourceChannel;
value31 = !isResourceChannelBinding;
if (isResourceChannelBinding) {
r25 = value31;
continue;
}
r25 = canReplyToMessage2;
continue;
object5.canReply = r25;
isResourceChannelBinding = isResourceChannel;
value32 = !isResourceChannelBinding;
if (isResourceChannelBinding) {
r25 = value32;
continue;
}
r25 = r26;
continue;
object5.canEdit = r25;
MESSAGE = RowType.MESSAGE;
object5.rowType = MESSAGE;
object5.changeType = r23;
if (value7 == unloadableContentEntryMessageIds) {
r23 = value5;
continue;
}
unloadableContentEntryMessageIdsBinding = unloadableContentEntryMessageIds;
has = unloadableContentEntryMessageIdsBinding.has;
id = value18.id;
value33 = Reflect.apply(has, unloadableContentEntryMessageIdsBinding, [id]);
r23 = value33;
object5.showContentInventoryEntryFallbackEmbed = r23;
Reflect.apply(push, binding, [object5]);
value34 = value7 != selectedSummary;
if (!value34) {
r12 = value34;
continue;
}
startId = selectedSummary.startId;
id = value18.id;
value35 = startId === id;
r12 = value35;
if (!r12) {
continue;
}
count = selectedSummary.count;
value36 = count > 1;
r12 = value36;
if (!r12) {
continue;
}
binding = env0_13;
push = binding.push;
object5 = {};
SUMMARY = SeparatorType.SUMMARY;
object5.rowType = SUMMARY;
object5.changeType = createChannelStreamDetermineChangeType(value18);
object5.roleStyle = roleStyle;
object5.summary = selectedSummary;
object5.isBeforeContent = true;
Reflect.apply(push, binding, [object5]);
value37 = value16();
done = value37.done;
if (done) {
break;
}
r13 = value37;
continue;
}
}
}
if (r3) {
if (!isResourceChannel) {
channelStreamDetermineChangeType5 = createChannelStreamDetermineChangeType(property);
r10 = channelStreamDetermineChangeType5 !== Changeset.UPDATE ? channelStreamDetermineChangeType5 : Changeset.NOOP;
moduleValue4 = require(3826) /* metro dependency 3826: DateUtils */;
env0_13.push({rowType: SeparatorType.DAY, changeType: r10, roleStyle: roleStyle,
text: moduleValue4.dateFormat(property.timestamp, 'LL')});
}
}
if (value6 && !isResourceChannel) {
binding = env0_13;
push = binding.push;
object5 = {};
object5.rowType = SeparatorType.UNREAD;
object5.changeType = createChannelStreamDetermineChangeType(property);
object5.roleStyle = roleStyle;
object5.text = intl.string(t.q7hm3m).toUpperCase();
Reflect.apply(push, binding, [object5]);
}
r1 = r1 && !isResourceChannel;
if (r1) {
env0_13.push({rowType: LoadingType.LOAD_BEFORE, changeType: forceRender ? Changeset.UPDATE : Changeset.NOOP,
roleStyle: roleStyle, isLoading: messages.loadingMore, text: intl.string(t.XBlaiC)});
}
return value5;
}
function processHiddenMessageRow(a0) { // fn#88196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:2732, offset: 0x01fd93a0, size: 287 bytes, params: 2, frame: 21
var r4;
var r3;
var r10;
var value6;
var channelStreamDetermineChangeType;
var NOOP;
var value7;
var changeType;
var value8;
var UPDATE;
var content;
var unshift;
var object2;
var MESSAGE;
var isSystemDM2;
var isSystemDM3;
var value9;
const value3 = _createForOfIteratorHelperLoose_88187(env0_0);
const value4 = value3();
let done = value4.done;
if (!done) {
r4 = value4;
while (true) {
value6 = r4.value;
channelStreamDetermineChangeType = createChannelStreamDetermineChangeType(value6);
NOOP = Changeset.NOOP;
value7 = channelStreamDetermineChangeType !== NOOP;
if (value7) {
changeType = a0.changeType;
value8 = changeType === Changeset.NOOP;
r3 = value8;
} else {
r3 = value7;
}
if (!r3) {
continue;
}
UPDATE = Changeset.UPDATE;
a0.changeType = UPDATE;
content = a0.content;
unshift = content.unshift;
object2 = {};
MESSAGE = RowType.MESSAGE;
object2.rowType = MESSAGE;
NOOP = Changeset.NOOP;
object2.changeType = NOOP;
object2.roleStyle = roleStyle;
object2.message = value6;
isSystemDM2 = channel.isSystemDM();
if (!isSystemDM2) {
r10 = isSystemDM2;
continue;
}
isSystemDM3 = value6.isSystemDM();
r10 = isSystemDM3;
object2.isSystemDM = r10;
object2.isFirst = value6 === env0_1;
object2.canAddNewReactions = canAddNewReactions;
Reflect.apply(unshift, content, [object2]);
value9 = value3();
done = value9.done;
if (done) {
break;
}
r4 = value9;
continue;
}
}
const binding = env0_1;
a0.revealed = binding.id === messages.revealedMessageId;
a0.context = binding.id;
return a0;
}