648 lines
20 KiB
React
648 lines
20 KiB
React
/* 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 items;
|
|
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) {
|
|
items = [];
|
|
} else {
|
|
value = truncateTextByBytes(a0.content, value);
|
|
value = global.Object.assign({}, a0, {content: value});
|
|
items = [value];
|
|
}
|
|
r1 = items;
|
|
} else {
|
|
r1 = isPartsMessage(a0) ? truncatePartsMessage(a0, 20000) : [];
|
|
}
|
|
r0 = r1;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
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 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;
|
|
}
|
|
|
|
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 [];
|
|
}
|
|
items = [];
|
|
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 (items.length <= 0) {
|
|
r0 = [];
|
|
} else {
|
|
Object = global.Object;
|
|
items = [Object.assign({}, a0, {parts: items})];
|
|
r0 = items;
|
|
}
|
|
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 = items.push;
|
|
} catch (error) {
|
|
try {
|
|
item2.return();
|
|
} catch {
|
|
}
|
|
throw error;
|
|
}
|
|
try {
|
|
Reflect.apply(push, items, [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 = items.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 = items.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, items, [value]);
|
|
} catch (error) {
|
|
try {
|
|
item2.return();
|
|
} catch {
|
|
}
|
|
throw error;
|
|
}
|
|
break reducibleJoin25;
|
|
}
|
|
break reducibleJoin25;
|
|
}
|
|
item2.return();
|
|
} else {
|
|
item2.return();
|
|
}
|
|
break reducibleLoop3;
|
|
}
|
|
return items.length <= 0 ? [] : [global.Object.assign({}, a0, {parts: items})];
|
|
}
|
|
|
|
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 object2;
|
|
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;
|
|
object2 = {};
|
|
value11 = environment.__proto__;
|
|
object2.content = stripInlineMediaFromMessages(value.content);
|
|
r2 = Reflect.apply(assign, Object, [{}, value, object2]);
|
|
} else if ('content' in value && isContentMedia(value.content)) {
|
|
Object = global.Object;
|
|
assign = Object.assign;
|
|
object2 = {};
|
|
value9 = environment.__proto__;
|
|
object2.content = stripInlineMediaFromSingleMessage(value.content);
|
|
r2 = Reflect.apply(assign, Object, [{}, value, object2]);
|
|
} else {
|
|
r2 = value3;
|
|
}
|
|
value13 = environment.__proto__;
|
|
if (isPartsMessage(value)) {
|
|
Object = global.Object;
|
|
assign = Object.assign;
|
|
r7 = r2 ?? value;
|
|
object2 = {};
|
|
object2.parts = stripInlineMediaFromMessages(value.parts);
|
|
r4 = Reflect.apply(assign, Object, [{}, r7, object2]);
|
|
} else {
|
|
r4 = r2;
|
|
}
|
|
r2 = isContentMedia(r4) ? stripInlineMediaFromSingleMessage(r4) : isContentMedia(value) ? stripInlineMediaFromSingleMessage(value) : r4;
|
|
r1 = r2;
|
|
} else {
|
|
r1 = value3;
|
|
}
|
|
return r1 ?? value;
|
|
}
|
|
|