Files
2026-07-28 01:06:53 +03:00

649 lines
24 KiB
JavaScript

/* Metro module 969; source: unknown; dependencies: [] */
function _fun10174(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#10174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:6, offset: 0x00d802c7, size: 210 bytes, params: 8, frame: 17
const getPartText = function(a0) {
var value = a0;
return typeof value === 'string' ? value : 'text' in value ? value.text : '';
};
const withPartText = function(a0, a1) {
var r0;
var value = a1;
if (typeof a0 === 'string') {
r0 = value;
} else {
value = global.Object.assign({}, a0, {text: value});
r0 = value;
}
return r0;
};
const hasInlineData = function(a0) {
var r0;
r0 = 'inlineData' in a0 && !!a0.inlineData && typeof a0.inlineData === 'object';
r0 = r0 && 'data' in a0.inlineData && typeof a0.inlineData.data === 'string';
return r0;
};
const isPartsMessage = function(a0) {
var r0;
r0 = a0 !== null && typeof a0 === 'object' && 'parts' in a0;
r0 = r0 && global.Array.isArray(a0.parts) && a0.parts.length > 0;
return r0;
};
const stripInlineMediaFromMessages = function(a0) {
return a0.map(_fun10186);
};
const Object = global.Object;
const defineProperty = Object.defineProperty;
const Symbol = global.Symbol;
Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]);
const utf8Bytes = function(a0) {
var TextEncoder = global.TextEncoder;
return new TextEncoder().encode(a0).length;
};
const env0_3 = ['image_url', 'data', 'content', 'b64_json', 'result', 'uri'];
exports.DEFAULT_GEN_AI_MESSAGES_BYTE_LIMIT = 20000;
exports.truncateGenAiMessages = truncateGenAiMessages;
exports.truncateGenAiStringInput = function(a0) {
return truncateTextByBytes(a0, 20000);
};
function truncateTextByBytes(a0, a1) { // fn#10175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:221, offset: 0x00d80399, size: 134 bytes, params: 3, frame: 25
var r2;
var r3;
var r8;
var r12;
var r1;
var Math;
var value4;
var value5;
var value6;
var value7;
if (utf8Bytes(a0) <= a1) {
return a0;
}
const length = a0.length;
const value2 = 0;
const value3 = '';
if (value2 <= length) {
r2 = value3;
r3 = value2;
r8 = length;
while (true) {
Math = global.Math;
value4 = Math.floor((r3 + r8) / 2);
value5 = a0.slice(value2, value4);
if (utf8Bytes(value5) <= a1) {
value7 = value4 + 1;
r2 = value5;
r3 = value7;
r12 = r8;
} else {
value6 = value4 - 1;
r12 = value6;
}
if (r3 <= r12) {
r8 = r12;
continue;
}
r1 = r2;
break;
}
} else {
r1 = value3;
}
return r1;
}
function isContentMedia(a0) { // fn#10178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:541, offset: 0x00d8047b, size: 375 bytes, params: 2, frame: 16
var r4;
var r2;
var r0;
let r1 = a0 ? typeof a0 !== 'object' : !a0;
if (r1) {
r0 = !r1;
} else {
r1 = 'type' in a0 && typeof a0.type === 'string';
r1 = r1 && 'source' in a0;
r1 = r1 && isContentMedia(a0.source);
r1 = !r1 ? hasInlineData(a0) : r1;
if (!r1) {
r4 = 'media_type' in a0 && typeof a0.media_type === 'string';
r4 = r4 && 'data' in a0;
r1 = r4;
}
if (!r1) {
r4 = 'image_url' in a0 && typeof a0.image_url === 'string';
r4 = r4 && a0.image_url.startsWith('data:');
r1 = r4;
}
r1 = !r1 ? 'type' in a0 && (a0.type === 'blob' || a0.type === 'base64') : r1;
r1 = !r1 ? 'b64_json' in a0 : r1;
if (!r1) {
r2 = 'type' in a0 && 'result' in a0;
r2 = r2 && a0.type === 'image_generation';
r1 = r2;
}
if (!r1) {
r2 = 'uri' in a0 && typeof a0.uri === 'string';
r2 = r2 && a0.uri.startsWith('data:');
r1 = r2;
}
r0 = r1;
}
return r0;
}
function truncateSingleMessage(a0, a1) { // fn#10181, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:1337, offset: 0x00d8069f, size: 243 bytes, params: 3, frame: 18
var r1;
var items2;
var r0;
var value;
if (a0) {
value = typeof a0 === 'object';
if (value) {
r1 = a0 !== null && value;
r1 = r1 && 'content' in a0;
r1 = r1 && typeof a0.content === 'string';
if (r1) {
value = global.Object.assign({}, a0, {content: ''});
value = jsonBytes(value);
value = 20000 - value;
if (value <= 0) {
items2 = [];
} else {
value = truncateTextByBytes(a0.content, value);
value = global.Object.assign({}, a0, {content: value});
items2 = [value];
}
r1 = items2;
} else {
r1 = isPartsMessage(a0) ? truncatePartsMessage(a0, 20000) : [];
}
r0 = r1;
} else {
r0 = [];
}
} else {
r0 = [];
}
return r0;
function truncatePartsMessage(a0, a1) { // fn#10182, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:1719, owner: truncateSingleMessage.truncatePartsMessage, offset: 0x00d80792, size: 330 bytes, params: 3, frame: 28
var r0;
var getPartTextBinding;
var utf8BytesBinding;
var value3;
var value4;
var length;
var value5;
var truncateTextByBytesBinding;
var push;
var withPartTextBinding;
var error;
const parts = a0.parts;
let value = parts.map(function(a0) {
return withPartText(a0, '');
});
const jsonBytesBinding = jsonBytes;
let Object = global.Object;
value = jsonBytesBinding(Object.assign({}, a0, {parts: value}));
value = a1 - value;
if (value <= 0) {
return [];
}
items2 = [];
const iterator = parts[Symbol.iterator]();
const iterator2 = iterator.next;
let r5 = iterator;
let r8 = value;
let item2 = Reflect.apply(iterator2, r5, []);
let item = item2.value;
item2 = item2.done ? undefined : r5;
reducibleJoin3: while (true) {
if (item2 === undefined) {
if (items2.length <= 0) {
r0 = [];
} else {
Object = global.Object;
items2 = [Object.assign({}, a0, {parts: items2})];
r0 = items2;
}
return r0;
}
break reducibleJoin3;
}
reducibleLoop3: while (true) {
try {
getPartTextBinding = getPartText;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value = getPartTextBinding(item);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
utf8BytesBinding = utf8Bytes;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value3 = utf8BytesBinding(value);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value4 = value3 <= r8;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value4) {
try {
push = items2.push;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(push, items2, [item]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value = r8 - value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r5 = item2;
r8 = value;
item2 = Reflect.apply(iterator2, r5, []);
item = item2.value;
item2 = item2.done ? undefined : r5;
if (item2 === undefined) {
break reducibleLoop3;
}
continue reducibleLoop3;
}
try {
length = items2.length;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value5 = length === 0;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value5) {
try {
truncateTextByBytesBinding = truncateTextByBytes;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value = truncateTextByBytesBinding(value, r8);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin25: while (true) {
if (value) {
try {
push = items2.push;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
withPartTextBinding = withPartText;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value = withPartTextBinding(item, value);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(push, items2, [value]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
break reducibleJoin25;
}
break reducibleJoin25;
}
item2.return();
} else {
item2.return();
}
break reducibleLoop3;
}
return items2.length <= 0 ? [] : [global.Object.assign({}, a0, {parts: items2})];
}
}
function stripInlineMediaFromSingleMessage(a0) { // fn#10184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:2185, offset: 0x00d808f4, size: 200 bytes, params: 2, frame: 20
var stripInlineMediaFromSingleMessageBinding;
var inlineData;
var property;
var value3;
var binding;
var error;
let Object = global.Object;
let assign = Object.assign;
const value = Reflect.apply(assign, Object, [{}, a0]);
const isContentMediaBinding = isContentMedia;
let source = value.source;
reducibleJoin2: while (true) {
if (isContentMediaBinding(source)) {
stripInlineMediaFromSingleMessageBinding = stripInlineMediaFromSingleMessage;
source = value.source;
value.source = stripInlineMediaFromSingleMessageBinding(source);
break reducibleJoin2;
}
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (hasInlineData(a0)) {
Object = global.Object;
assign = Object.assign;
inlineData = a0.inlineData;
value.inlineData = Reflect.apply(assign, Object, [{}, inlineData, {data: env0_2}]);
break reducibleJoin4;
}
break reducibleJoin4;
}
const iterator = env0_3[Symbol.iterator]();
const iterator2 = iterator.next;
let r2 = iterator;
let item2 = Reflect.apply(iterator2, r2, []);
let item = item2.value;
item2 = item2.done ? undefined : r2;
reducibleJoin6: while (true) {
if (item2 === undefined) {
return value;
}
break reducibleJoin6;
}
reducibleLoop6: while (true) {
try {
property = value[item];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value3 = typeof property !== 'string';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin5: while (true) {
if (value3) {
r2 = item2;
break reducibleJoin5;
}
try {
binding = env0_2;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value[item] = binding;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r2 = item2;
break reducibleJoin5;
}
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
break reducibleLoop6;
}
continue reducibleLoop6;
}
return value;
}
function stripInlineMediaFromMessages(a0) { // fn#10185, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:2468, offset: 0x00d809bc, size: 22 bytes, params: 2, frame: 11
return a0.map(_fun10186);
function _fun10186(a0) { // fn#10186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:2523, offset: 0x00d809d2, size: 348 bytes, params: 2, frame: 21
var r7;
var r4;
var r1;
var Object;
var assign;
var object;
var value9;
var value11;
var value13;
const value = a0;
let r2 = value && typeof value === 'object';
const value3 = undefined;
if (r2) {
r2 = value !== null && typeof value === 'object';
r2 = r2 && 'content' in value;
r2 = r2 && global.Array.isArray(value.content);
if (r2) {
Object = global.Object;
assign = Object.assign;
object = {};
value11 = environment.__proto__;
object.content = stripInlineMediaFromMessages(value.content);
r2 = Reflect.apply(assign, Object, [{}, value, object]);
} else if ('content' in value && isContentMedia(value.content)) {
Object = global.Object;
assign = Object.assign;
object = {};
value9 = environment.__proto__;
object.content = stripInlineMediaFromSingleMessage(value.content);
r2 = Reflect.apply(assign, Object, [{}, value, object]);
} else {
r2 = value3;
}
value13 = environment.__proto__;
if (isPartsMessage(value)) {
Object = global.Object;
assign = Object.assign;
r7 = r2 ?? value;
object = {};
object.parts = stripInlineMediaFromMessages(value.parts);
r4 = Reflect.apply(assign, Object, [{}, r7, object]);
} else {
r4 = r2;
}
r2 = isContentMedia(r4) ? stripInlineMediaFromSingleMessage(r4) : isContentMedia(value) ? stripInlineMediaFromSingleMessage(value) : r4;
r1 = r2;
} else {
r1 = value3;
}
return r1 ?? value;
}
}
function jsonBytes(a0) { // fn#10188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:170, offset: 0x00d80b5f, size: 38 bytes, params: 2, frame: 12
const utf8BytesBinding = utf8Bytes;
const JSON = global.JSON;
return utf8BytesBinding(JSON.stringify(a0));
}
function truncateGenAiMessages(a0) { // fn#10189, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1096:3183, offset: 0x00d80b85, size: 222 bytes, params: 2, frame: 24
var r1;
var r8;
var r9;
var r13;
var r3;
var r0;
var length;
var value2;
var value3;
var value4;
var map;
var value5;
var length2;
var value6;
var property;
var value7;
var value8;
var slice;
var truncateSingleMessageBinding;
let value = a0;
const Array = global.Array;
reducibleJoin13: while (true) {
if (Array.isArray(value)) {
length = value.length;
value2 = 0;
if (value2 === length) {
r0 = value;
break reducibleJoin13;
}
value3 = environment;
value = stripInlineMediaFromMessages(value);
value4 = jsonBytes(value);
if (value4 <= 20000) {
r0 = value;
break reducibleJoin13;
}
map = value.map;
value5 = Reflect.apply(map, value, [jsonBytes]);
length = value.length;
length2 = value.length;
value6 = length2 - 1;
if (value6 >= value2) {
r1 = value2;
r8 = length;
r9 = value6;
reducibleLoop4: while (true) {
property = value5[r9];
if (property) {
reducibleJoin6: while (true) {
if (r1 + property > 20000) {
r3 = r8;
break reducibleLoop4;
}
break reducibleJoin6;
}
}
reducibleJoin8: while (true) {
if (property) {
value7 = r1 + property;
r13 = value7;
break reducibleJoin8;
}
r13 = r1;
break reducibleJoin8;
}
value8 = typeof r9 === 'bigint' ? r9 - 1n : +r9 - 1;
if (value8 >= value2) {
r1 = r13;
r8 = r9;
r9 = value8;
continue reducibleLoop4;
}
r3 = r9;
break reducibleLoop4;
}
} else {
r3 = length;
}
length = value.length;
if (r3 === length) {
truncateSingleMessageBinding = truncateSingleMessage;
length = value.length;
value = truncateSingleMessageBinding(value[length - 1], 20000);
r1 = value;
} else {
slice = value.slice;
value = Reflect.apply(slice, value, [r3]);
r1 = value;
}
r0 = r1;
break reducibleJoin13;
}
r0 = value;
break reducibleJoin13;
}
return r0;
}
}
global.__d(_fun10174, 969, []) /* metro module 969 */;