decord/source/modules/messages/native/createChannelStream.tsx

623 lines
20 KiB
TypeScript
Raw Normal View History

2026-07-21 06:55:02 +00:00
// Module ID: 11084
// Function ID: 86190
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
// Exports: default
2026-07-21 06:55:02 +00:00
// Module 11084 (_createForOfIteratorHelperLoose)
2026-07-20 16:05:17 +00:00
function _createForOfIteratorHelperLoose(@@iterator) {
let arg1 = Symbol_iterator;
@@iterator = "undefined" !== typeof Symbol;
if (Symbol_iterator) {
const _Symbol = Symbol;
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (!Symbol_iterator) {
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (Symbol_iterator) {
const iter = Symbol_iterator.call(Symbol_iterator);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = Symbol_iterator;
if (!Array.isArray(Symbol_iterator)) {
let tmp2;
if (Symbol_iterator) {
if ("string" === typeof Symbol_iterator) {
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(Symbol_iterator).slice(8, -1);
let name = substr;
if (tmp3) {
name = Symbol_iterator.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(Symbol_iterator);
const callResult = toString.call(Symbol_iterator);
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
arg1 = tmp;
}
let closure_1 = 0;
return () => {
if (closure_1 >= tmp.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = tmp[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importDefault(dependencyMap[2]);
({ Changeset: closure_6, LoadingType: closure_7, RowType: closure_8, SeparatorType: closure_9 } = arg1(dependencyMap[3]));
const MessageFlags = arg1(dependencyMap[4]).MessageFlags;
const tmp2 = arg1(dependencyMap[3]);
const result = arg1(dependencyMap[13]).fileFinishedImporting("modules/messages/native/createChannelStream.tsx");
export default function createChannelStream(forceRender) {
let iter2;
let messages;
let roleStyle;
let uploads;
({ channel: closure_0, messages } = forceRender);
const importDefault = messages;
({ uploads, oldestUnreadMessageId: closure_2, replyingMessageId: closure_3, currentUserId: closure_4, canAddNewReactions: closure_5, selectedSummary: closure_6, chatManager: closure_7, roleStyle } = forceRender);
forceRender = forceRender.forceRender;
({ updateMessageIds: closure_10, isResourceChannel: closure_11, unloadableContentEntryMessageIds: closure_12 } = forceRender);
let items1;
function unreadFilter(id) {
if (forumPost.isForumPost()) {
let tmp3 = tmp;
if (tmp) {
tmp3 = id.id !== messages(closure_2[5]).castChannelIdAsMessageId(forumPost.id);
const obj = messages(closure_2[5]);
}
let tmp2 = tmp3;
} else {
tmp2 = tmp;
}
return tmp2;
}
function insertMessage(message) {
const first = items1[0];
if (null != first) {
if (!unreadFilter(message)) {
if (messages(closure_2[6])(closure_0, first[first.length - 1], message)) {
const items = [message];
items1.unshift(items);
} else {
first.unshift(message);
}
}
}
const items1 = [message];
items1.unshift(items1);
}
function determineChangeType(message) {
let flag = arg1;
if (arg1 === undefined) {
flag = false;
}
return store.determineChangeType({ message, updateMessageIds: closure_10, forceRender }, flag);
}
const items = [];
let arr = {};
const substr = uploads.slice();
const tmp = _createForOfIteratorHelperLoose(substr.reverse());
let iter = tmp();
if (!iter.done) {
do {
let value = iter.value;
let tmp2 = closure_5;
let messageForFile = closure_5.getMessageForFile(value.id);
let nonce;
if (null != messageForFile) {
nonce = messageForFile.nonce;
}
if (null != nonce) {
arr[messageForFile.nonce] = value;
}
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
items1 = [];
const item = messages.forEach((id) => {
const result = forumPost(id[7]).tryCreateInjectedMessage(id, forumPost);
let tmp2 = null != result;
if (tmp2) {
tmp2 = "before" === result.position;
}
if (tmp2) {
insertMessage(result.message);
if (id === id.id) {
id = result.message.id;
}
}
insertMessage(id);
let tmp7 = null != result;
if (tmp7) {
tmp7 = "after" === result.position;
}
if (tmp7) {
insertMessage(result.message);
}
});
const item1 = items1.forEach((self) => {
function processHiddenMessageRow(merged) {
let iter2;
let obj;
const tmp = callback(merged);
let iter = tmp();
if (!iter.done) {
do {
let value = iter.value;
let tmp2 = closure_18;
let tmp3 = closure_6;
let tmp4 = closure_18(value) !== closure_6.NOOP;
if (tmp4) {
let tmp5 = closure_6;
tmp4 = merged.changeType === closure_6.NOOP;
}
if (tmp4) {
let tmp6 = closure_6;
merged.changeType = closure_6.UPDATE;
}
let content = merged.content;
obj = {};
let tmp7 = closure_8;
obj.rowType = closure_8.MESSAGE;
let tmp8 = closure_6;
obj.changeType = closure_6.NOOP;
let tmp9 = closure_8;
obj.roleStyle = closure_8;
obj.message = value;
let tmp10 = closure_0;
let tmp11 = closure_0.isSystemDM() && value.isSystemDM();
obj.isSystemDM = tmp11;
let tmp12 = closure_1;
obj.isFirst = value === closure_1;
let tmp13 = closure_5;
obj.canAddNewReactions = closure_5;
let arr = content.unshift(obj);
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
merged.revealed = obj.id === obj.revealedMessageId;
merged.context = obj.id;
return merged;
}
let obj = self[self.length - 1];
const messages = obj;
let merged = arg1 === items1.length - 1;
let hasMoreAfter = 0 === arg1;
if (hasMoreAfter) {
hasMoreAfter = messages.hasMoreAfter;
}
if (!hasMoreAfter) {
let tmp11 = messages.hasMoreBefore && merged;
let tmp13 = unreadFilter(obj);
let timestamp = null;
if (!merged) {
timestamp = items1[arg1 + 1][0].timestamp;
}
if (merged) {
let isDMResult = self.isDM();
if (isDMResult) {
isDMResult = !messages.hasMoreBefore;
}
if (isDMResult) {
isDMResult = merged;
}
if (!isDMResult) {
let isThreadResult = self.isThread();
if (isThreadResult) {
isThreadResult = !self.isForumPost();
}
if (isThreadResult) {
isThreadResult = !messages.hasMoreBefore;
}
if (isThreadResult) {
isThreadResult = merged;
}
isDMResult = isThreadResult;
}
let flag = false;
if (isDMResult) {
flag = true;
}
} else {
let obj2 = self(closure_2[9]);
flag = true;
}
2026-07-21 06:55:02 +00:00
obj = { roleStyle };
2026-07-20 16:05:17 +00:00
obj.message = obj;
obj.content = [];
let tmp28 = items[closure_13.length - 1];
if (obj.hasFlag(constants.HIDDEN_SUSPENDED_USER)) {
if (null == tmp28) {
merged = determineChangeType;
obj = {};
merged = obj;
merged = obj;
merged = determineChangeType(obj);
merged = Object.assign(obj);
merged = roleStyle;
obj["rowType"] = roleStyle.SUSPENDED_USER_GROUP;
obj["changeType"] = merged;
obj["canUncollapse"] = false;
merged = items;
merged = items.push(obj);
tmp28 = obj;
} else {
merged = roleStyle;
}
merged = processHiddenMessageRow(tmp28);
merged = self;
merged = closure_2;
const intl4 = self(closure_2[8]).intl;
const obj1 = { count: tmp28.content.length };
tmp28.text = intl4.formatToPlainString(self(closure_2[8]).t.rHRovo, obj1);
} else if (obj.blocked) {
if (null == tmp28) {
merged = determineChangeType;
merged = determineChangeType(obj);
merged = closure_6;
merged = merged === closure_6.NOOP;
if (merged) {
merged = store;
merged = store.getBlocked(obj);
}
let INSERT2 = merged;
if (merged) {
merged = closure_6;
INSERT2 = closure_6.INSERT;
}
obj2 = {};
merged = obj2;
merged = obj;
merged = Object.assign(obj);
merged = roleStyle;
obj2["rowType"] = roleStyle.BLOCKED_GROUP;
obj2["changeType"] = INSERT2;
merged = items;
merged = items.push(obj2);
merged = obj2;
} else {
merged = roleStyle;
merged = tmp28;
}
merged = processHiddenMessageRow(merged);
merged = self;
merged = closure_2;
const intl3 = self(closure_2[8]).intl;
const obj3 = { count: merged.content.length };
merged.text = intl3.formatToPlainString(self(closure_2[8]).t.+FcYM/, obj3);
} else if (obj.ignored) {
if (null == tmp28) {
const tmp99 = determineChangeType(obj);
merged = closure_6;
merged = tmp99 === closure_6.NOOP;
if (merged) {
merged = store;
merged = store.getIgnored(obj);
}
let INSERT = tmp99;
if (merged) {
merged = closure_6;
INSERT = closure_6.INSERT;
}
let obj4 = {};
merged = obj4;
merged = obj;
merged = Object.assign(obj);
merged = roleStyle;
obj4["rowType"] = roleStyle.IGNORED_GROUP;
obj4["changeType"] = INSERT;
merged = items;
merged = items.push(obj4);
let tmp97 = obj4;
} else {
tmp97 = tmp28;
}
merged = processHiddenMessageRow(tmp97);
merged = self;
merged = closure_2;
const intl2 = self(closure_2[8]).intl;
let obj5 = { count: tmp97.content.length };
tmp97.text = intl2.formatToPlainString(self(closure_2[8]).t.VFWjc+, obj5);
} else {
const tmp31 = callback(self);
let iter = tmp31();
if (!iter.done) {
while (true) {
let value = iter.value;
let tmp32 = value !== obj;
let tmp33 = editing;
let tmp34 = self;
let isEditingResult = editing.isEditing(self.id, value.id);
if (!isEditingResult) {
let tmp36 = pushFeedback;
isEditingResult = pushFeedback === value.id;
}
let tmp37 = pushFeedback;
let pushFeedback = pushFeedback.getPushFeedback(value.channel_id, value.id);
let tmp39 = self;
let tmp40 = closure_2;
obj4 = self(closure_2[10]);
let tmp41 = self;
let tmp43 = messages;
let canReplyToMessageResult = obj4.canReplyToMessage(self, value);
let tmp44 = editing;
let tmp45 = messages(closure_2[11])(value, editing);
if (tmp45) {
let tmp46 = self;
let tmp47 = closure_2;
obj5 = self(closure_2[12]);
let tmp48 = self;
tmp45 = !obj5.isNonModInLockedThread(self);
}
let tmp49 = arr;
if (arr.hasOwnProperty(value.id)) {
let tmp52 = arr;
let tmp53 = store;
let result = store.determineChangeTypeForUploadProgress(arr[value.id]);
} else {
let tmp50 = determineChangeType;
result = determineChangeType(value, true);
}
let tmp54 = closure_6;
let tmp55 = null != closure_6;
if (tmp55) {
let tmp56 = closure_6;
tmp55 = closure_6.endId === value.id;
}
if (tmp55) {
let tmp57 = closure_6;
tmp55 = closure_6.count > 1;
}
if (tmp55) {
let tmp58 = items;
let obj6 = {};
let tmp59 = forceRender;
obj6.rowType = forceRender.SUMMARY;
let tmp60 = determineChangeType;
obj6.changeType = determineChangeType(value);
let tmp61 = roleStyle;
obj6.roleStyle = roleStyle;
let tmp62 = closure_6;
obj6.summary = closure_6;
obj6.isBeforeContent = false;
let arr = items.push(obj6);
}
let obj7 = {};
let tmp65 = roleStyle;
obj7.roleStyle = roleStyle;
obj7.message = value;
let tmp66 = self;
let tmp64 = items;
let tmp67 = self.isSystemDM() && value.isSystemDM();
obj7.isSystemDM = tmp67;
obj7.isFirst = value === obj;
obj7.isEditing = isEditingResult;
let tmp68 = !tmp32;
if (!tmp32) {
let tmp69 = callback;
tmp68 = !callback;
}
if (tmp68) {
let tmp70 = flag;
if (!flag) {
tmp70 = tmp13;
}
if (!tmp70) {
tmp70 = tmp11;
}
tmp68 = tmp70;
}
obj7.separatorBefore = tmp68;
let tmp71 = closure_5;
obj7.canAddNewReactions = closure_5;
let tmp72 = self;
let isForumPostResult = self.isForumPost();
if (isForumPostResult) {
let tmp74 = messages;
let tmp75 = closure_2;
let obj8 = messages(closure_2[5]);
let tmp76 = self;
isForumPostResult = value.id === obj8.castChannelIdAsMessageId(self.id);
}
obj7.alwaysShowAddReaction = isForumPostResult;
let tmp77 = callback;
obj7.renderContentOnly = callback;
let pushType;
if (null != pushFeedback) {
pushType = pushFeedback.pushType;
}
obj7.pushFeedbackType = pushType;
let tmp79 = callback;
obj7.canReply = !callback && canReplyToMessageResult;
let tmp80 = callback;
obj7.canEdit = !callback && tmp45;
let tmp81 = roleStyle;
obj7.rowType = roleStyle.MESSAGE;
obj7.changeType = result;
let tmp82 = set;
let hasItem;
if (null != set) {
let tmp84 = set;
hasItem = set.has(value.id);
}
obj7.showContentInventoryEntryFallbackEmbed = hasItem;
arr = items.push(obj7);
let tmp86 = closure_6;
let tmp87 = null != closure_6;
if (tmp87) {
let tmp88 = closure_6;
tmp87 = closure_6.startId === value.id;
}
if (tmp87) {
let tmp89 = closure_6;
tmp87 = closure_6.count > 1;
}
if (tmp87) {
let tmp90 = items;
obj8 = {};
let tmp91 = forceRender;
obj8.rowType = forceRender.SUMMARY;
let tmp92 = determineChangeType;
obj8.changeType = determineChangeType(value);
let tmp93 = roleStyle;
obj8.roleStyle = roleStyle;
let tmp94 = closure_6;
obj8.summary = closure_6;
obj8.isBeforeContent = true;
let arr1 = items.push(obj8);
}
let iter2 = tmp31();
iter = iter2;
if (iter2.done) {
break;
} else {
// continue
}
}
}
}
if (flag) {
merged = callback;
if (!callback) {
merged = determineChangeType;
let NOOP = determineChangeType(obj);
merged = closure_6;
if (NOOP === closure_6.UPDATE) {
merged = closure_6;
NOOP = closure_6.NOOP;
}
merged = self;
merged = closure_2;
merged = items;
const obj9 = {};
merged = forceRender;
obj9.rowType = forceRender.DAY;
obj9.changeType = NOOP;
merged = roleStyle;
obj9.roleStyle = roleStyle;
obj9.text = self(closure_2[9]).dateFormat(obj.timestamp, "LL");
merged = items.push(obj9);
const obj17 = self(closure_2[9]);
}
}
if (tmp13) {
merged = callback;
tmp13 = !callback;
}
if (tmp13) {
merged = items;
const obj10 = {};
merged = forceRender;
obj10.rowType = forceRender.UNREAD;
merged = determineChangeType;
obj10.changeType = determineChangeType(obj);
merged = roleStyle;
obj10.roleStyle = roleStyle;
merged = self;
merged = closure_2;
const intl5 = self(closure_2[8]).intl;
obj10.text = intl5.string(self(closure_2[8]).t.q7hm3m).toUpperCase();
merged = items.push(obj10);
const str9 = intl5.string(self(closure_2[8]).t.q7hm3m);
}
if (tmp11) {
merged = callback;
tmp11 = !callback;
}
if (tmp11) {
let obj11 = {};
merged = store;
obj11.rowType = store.LOAD_BEFORE;
merged = forceRender;
merged = closure_6;
obj11.changeType = forceRender ? merged.UPDATE : merged.NOOP;
merged = roleStyle;
obj11.roleStyle = roleStyle;
merged = messages;
obj11.isLoading = messages.loadingMore;
merged = self;
merged = closure_2;
merged = items;
const intl6 = self(closure_2[8]).intl;
obj11.text = intl6.string(self(closure_2[8]).t.XBlaiC);
obj11 = items.push(obj11);
}
} else {
let obj12 = { rowType: store.LOAD_AFTER };
let intl = closure_6;
obj12.changeType = forceRender ? intl.UPDATE : intl.NOOP;
obj12.roleStyle = roleStyle;
obj12.isLoading = messages.loadingMore;
intl = self(closure_2[8]).intl;
obj12.text = intl.string(self(closure_2[8]).t.XBlaiC);
obj12 = items.push(obj12);
}
});
let tmp7 = 0 === items1.length && !messages.loadingMore;
if (tmp7) {
tmp7 = messages.hasMoreAfter || messages.hasMoreBefore;
const tmp8 = messages.hasMoreAfter || messages.hasMoreBefore;
}
if (!tmp7) {
return items;
} else {
arr = { rowType: messages.hasMoreBefore ? closure_7.LOAD_BEFORE : closure_7.LOAD_AFTER };
let tmp10 = closure_6;
arr.changeType = forceRender ? tmp10.UPDATE : tmp10.NOOP;
arr.roleStyle = roleStyle;
arr.isLoading = messages.loadingMore;
tmp10 = dependencyMap;
roleStyle = arg1(dependencyMap[8]).intl;
messages = roleStyle.string;
arr.text = messages(arg1(dependencyMap[8]).t.XBlaiC);
arr = items.push(arr);
}
};