Files
discord-decomp/sources/modules/messages/native/createChannelStream.tsx
T
2026-07-28 01:06:53 +03:00

769 lines
35 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] */
import EditMessageStore from '../../../stores/EditMessageStore.tsx'; /* Metro dependency 7075 */
import UploadStore from '../../../stores/UploadStore.tsx'; /* Metro dependency 7223 */
import PushFeedbackStore from '../../push_feedback/PushFeedbackStore.tsx'; /* Metro dependency 11322 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as RowGeneratorConstantsModule from './renderer/RowGeneratorConstants.tsx'; /* Metro dependency 8178 */
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});
(FileImportTrackerModule).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 _fun88188() { // fn#88188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11704:800, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
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 uploadStoreBinding;
var getMessageForFile;
var id;
var value7;
var value8;
var push;
var object;
var intl;
const items3 = [];
const object2 = {};
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;
uploadStoreBinding = UploadStore;
getMessageForFile = uploadStoreBinding.getMessageForFile;
id = value6.id;
value7 = Reflect.apply(getMessageForFile, uploadStoreBinding, [id]);
nonce = value7?.nonce;
if (nonce == null) {
continue;
}
nonce = value7.nonce;
object2[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;
object = {};
object.rowType = messages.hasMoreBefore ? LoadingType.LOAD_BEFORE : LoadingType.LOAD_AFTER;
object.changeType = forceRender ? Changeset.UPDATE : Changeset.NOOP;
object.roleStyle = roleStyle;
object.isLoading = messages.loadingMore;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.XBlaiC);
Reflect.apply(push, items3, [object]);
}
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 = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
var value8;
var moduleValue;
var value16;
var value17;
var done;
var value18;
var value19;
var editMessageStoreBinding;
var isEditing;
var id;
var id2;
var isEditing2;
var value20;
var pushFeedbackStoreBinding;
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 object2;
var channelStreamDetermineChangeType3;
var object3;
var channelStreamDetermineChangeType4;
var object4;
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 processHiddenMessageRow2 = processHiddenMessageRow;
let object = {'roleStyle': null, 'message': null, 'isFirst': true, 'content': null, 'text': '', 'revealed': false};
object.roleStyle = roleStyle;
object.message = property;
object.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);
object4 = {};
copyDataProperties(object4, object, undefined);
object4['rowType'] = RowType.SUSPENDED_USER_GROUP;
object4['changeType'] = channelStreamDetermineChangeType4;
object4['canUncollapse'] = false;
env0_13.push(object4);
r7 = object4;
} else if (property2.rowType === RowType.SUSPENDED_USER_GROUP) {
r7 = property2;
} else {
channelStreamDetermineChangeType4 = createChannelStreamDetermineChangeType(property);
object4 = {};
copyDataProperties(object4, object, undefined);
object4['rowType'] = RowType.SUSPENDED_USER_GROUP;
object4['changeType'] = channelStreamDetermineChangeType4;
object4['canUncollapse'] = false;
env0_13.push(object4);
r7 = object4;
}
processHiddenMessageRow2(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;
object3 = {};
copyDataProperties(object3, object, undefined);
object3['rowType'] = RowType.BLOCKED_GROUP;
object3['changeType'] = r15;
env0_13.push(object3);
r13 = object3;
} else if (property2.rowType === RowType.BLOCKED_GROUP) {
r13 = property2;
} else {
channelStreamDetermineChangeType3 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType3 === Changeset.NOOP && chatManager.getBlocked(property) ? Changeset.INSERT : channelStreamDetermineChangeType3;
object3 = {};
copyDataProperties(object3, object, undefined);
object3['rowType'] = RowType.BLOCKED_GROUP;
object3['changeType'] = r15;
env0_13.push(object3);
r13 = object3;
}
processHiddenMessageRow2(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;
object2 = {};
copyDataProperties(object2, object, undefined);
object2['rowType'] = RowType.IGNORED_GROUP;
object2['changeType'] = r15;
env0_13.push(object2);
r13 = object2;
} else if (property2.rowType === RowType.IGNORED_GROUP) {
r13 = property2;
} else {
channelStreamDetermineChangeType2 = createChannelStreamDetermineChangeType(property);
r15 = channelStreamDetermineChangeType2 === Changeset.NOOP && chatManager.getIgnored(property) ? Changeset.INSERT : channelStreamDetermineChangeType2;
object2 = {};
copyDataProperties(object2, object, undefined);
object2['rowType'] = RowType.IGNORED_GROUP;
object2['changeType'] = r15;
env0_13.push(object2);
r13 = object2;
}
processHiddenMessageRow2(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;
editMessageStoreBinding = EditMessageStore;
isEditing = editMessageStoreBinding.isEditing;
id = channel.id;
id2 = value18.id;
isEditing2 = Reflect.apply(isEditing, editMessageStoreBinding, [id, id2]);
if (isEditing2) {
r25 = isEditing2;
} else {
value20 = replyingMessageId === value18.id;
r25 = value20;
}
pushFeedbackStoreBinding = PushFeedbackStore;
getPushFeedback = pushFeedbackStoreBinding.getPushFeedback;
channel_id = value18.channel_id;
id = value18.id;
value21 = Reflect.apply(getPushFeedback, pushFeedbackStoreBinding, [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;
object = {};
SUMMARY = SeparatorType.SUMMARY;
object.rowType = SUMMARY;
object.changeType = createChannelStreamDetermineChangeType(value18);
object.roleStyle = roleStyle;
object.summary = selectedSummary;
object.isBeforeContent = false;
Reflect.apply(push, binding, [object]);
binding = env0_13;
push = binding.push;
object = {};
object.roleStyle = roleStyle;
object.message = value18;
isSystemDM2 = channel.isSystemDM();
if (!isSystemDM2) {
r30 = isSystemDM2;
continue;
}
isSystemDM3 = value18.isSystemDM();
r30 = isSystemDM3;
object.isSystemDM = r30;
object.isFirst = value18 === property;
object.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;
object.separatorBefore = r25;
object.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;
object.alwaysShowAddReaction = r25;
object.renderContentOnly = isResourceChannel;
if (value7 == value21) {
pushType = value5;
continue;
}
pushType = value21.pushType;
object.pushFeedbackType = pushType;
isResourceChannelBinding = isResourceChannel;
value31 = !isResourceChannelBinding;
if (isResourceChannelBinding) {
r25 = value31;
continue;
}
r25 = canReplyToMessage2;
continue;
object.canReply = r25;
isResourceChannelBinding = isResourceChannel;
value32 = !isResourceChannelBinding;
if (isResourceChannelBinding) {
r25 = value32;
continue;
}
r25 = r26;
continue;
object.canEdit = r25;
MESSAGE = RowType.MESSAGE;
object.rowType = MESSAGE;
object.changeType = r23;
if (value7 == unloadableContentEntryMessageIds) {
r23 = value5;
continue;
}
unloadableContentEntryMessageIdsBinding = unloadableContentEntryMessageIds;
has = unloadableContentEntryMessageIdsBinding.has;
id = value18.id;
value33 = Reflect.apply(has, unloadableContentEntryMessageIdsBinding, [id]);
r23 = value33;
object.showContentInventoryEntryFallbackEmbed = r23;
Reflect.apply(push, binding, [object]);
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;
object = {};
SUMMARY = SeparatorType.SUMMARY;
object.rowType = SUMMARY;
object.changeType = createChannelStreamDetermineChangeType(value18);
object.roleStyle = roleStyle;
object.summary = selectedSummary;
object.isBeforeContent = true;
Reflect.apply(push, binding, [object]);
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;
object = {};
object.rowType = SeparatorType.UNREAD;
object.changeType = createChannelStreamDetermineChangeType(property);
object.roleStyle = roleStyle;
object.text = intl.string(t.q7hm3m).toUpperCase();
Reflect.apply(push, binding, [object]);
}
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 object;
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;
object = {};
MESSAGE = RowType.MESSAGE;
object.rowType = MESSAGE;
NOOP = Changeset.NOOP;
object.changeType = NOOP;
object.roleStyle = roleStyle;
object.message = value6;
isSystemDM2 = channel.isSystemDM();
if (!isSystemDM2) {
r10 = isSystemDM2;
continue;
}
isSystemDM3 = value6.isSystemDM();
r10 = isSystemDM3;
object.isSystemDM = r10;
object.isFirst = value6 === env0_1;
object.canAddNewReactions = canAddNewReactions;
Reflect.apply(unshift, content, [object]);
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;
}
}
}
}
global.__d(_fun88186, 11518, [11322, 7075, 7223, 8178, 661, 21, 11519, 11520, 1244, 3826, 8228, 5260, 6860,
2]) /* metro module 11518, dependencies: [11322, 7075, 7223, 8178, 661, 21, 11519, 11520, 1244, 3826, 8228, 5260, 6860, 2] */;