514 lines
23 KiB
TypeScript
514 lines
23 KiB
TypeScript
/* Metro module 10252; source: design/void/CutoutableAvatarImage/native/CutoutableAvatarImage.tsx; dependencies: [31, 27, 10253, 33, 3, 1423, 10254, 4017, 7599, 4577, 5475, 10255, 491, 7744, 628, 2] */
|
|
function _fun79619(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:6, offset: 0x01e5a4ad, size: 2022 bytes, params: 8, frame: 26
|
|
var object2;
|
|
const env0_0 = require;
|
|
let Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = importAll(31) /* metro dependency 31 */;
|
|
const value2 = require(27) /* metro dependency 27 */;
|
|
const env0_3 = value2.StyleSheet;
|
|
const env0_4 = value2.View;
|
|
const env0_5 = (require(10253) /* metro dependency 10253: ChannelAnimationConstants */).CHANNEL_SPRING_CONFIG;
|
|
const value3 = require(33) /* metro dependency 33 */;
|
|
const env0_6 = value3.jsx;
|
|
const env0_7 = value3.jsxs;
|
|
const value6 = new (importDefault(3) /* metro dependency 3: Logger */)('UIKit - AvatarImage');
|
|
object2 = {XXSMALL: 'xxsmall', XSMALL: 'xsmall', SMALL: 'small', NORMAL: 'normal', LARGE: 'large', XLARGE: 'xlarge',
|
|
XLARGE_72: 'xlarge72', XXLARGE: 'xxlarge', PROFILE: 'profile', REFRESH_MEDIUM_32: 'refreshMedium32',
|
|
XXSMALL_10: 'xsmall10', XSMALL_20: 'xsmall20', SIZE_16: 'size16', LARGE_48: 'large48',
|
|
EDIT_AVATAR_DECORATION: 'editAvatarDecoration', GIFT_START: 'giftStart', GIFT_SUCCESS: 'giftSuccess',
|
|
YOUBAR_60: 'youBar60', TABS_22: 'tabs22'};
|
|
Object = global.Object;
|
|
const freeze = Object.freeze;
|
|
let XXSMALL_10 = object2.XXSMALL_10;
|
|
let SIZE_16 = object2.SIZE_16;
|
|
let XXSMALL = object2.XXSMALL;
|
|
let XSMALL_20 = object2.XSMALL_20;
|
|
let XSMALL = object2.XSMALL;
|
|
let SMALL = object2.SMALL;
|
|
let NORMAL = object2.NORMAL;
|
|
let LARGE_48 = object2.LARGE_48;
|
|
let LARGE = object2.LARGE;
|
|
let XLARGE = object2.XLARGE;
|
|
let XLARGE_72 = object2.XLARGE_72;
|
|
let XXLARGE = object2.XXLARGE;
|
|
let PROFILE = object2.PROFILE;
|
|
let EDIT_AVATAR_DECORATION = object2.EDIT_AVATAR_DECORATION;
|
|
let GIFT_START = object2.GIFT_START;
|
|
let GIFT_SUCCESS = object2.GIFT_SUCCESS;
|
|
let REFRESH_MEDIUM_32 = object2.REFRESH_MEDIUM_32;
|
|
let YOUBAR_60 = object2.YOUBAR_60;
|
|
let TABS_22 = object2.TABS_22;
|
|
const value8 = Reflect.apply(freeze, Object, [{[XXSMALL_10]: 10, [SIZE_16]: 16, [XXSMALL]: 18, [XSMALL_20]: 20,
|
|
[XSMALL]: 24, [SMALL]: 30, [NORMAL]: 40, [LARGE_48]: 48, [LARGE]: 50, [XLARGE]: 64, [XLARGE_72]: 72,
|
|
[XXLARGE]: 80, [PROFILE]: 128, [EDIT_AVATAR_DECORATION]: 144, [GIFT_START]: 184, [GIFT_SUCCESS]: 236,
|
|
[REFRESH_MEDIUM_32]: 32, [YOUBAR_60]: 60, [TABS_22]: 22}]);
|
|
const object25 = {image: {'width': '100%', 'height': '100%'}};
|
|
const object26 = {};
|
|
XXSMALL = object2.XXSMALL;
|
|
object26.width = value8[XXSMALL];
|
|
XXSMALL = object2.XXSMALL;
|
|
object26.height = value8[XXSMALL];
|
|
XXSMALL = object2.XXSMALL;
|
|
object26.borderRadius = value8[XXSMALL] / 2;
|
|
object25.xxsmall = object26;
|
|
const object27 = {};
|
|
XXSMALL_10 = object2.XXSMALL_10;
|
|
object27.width = value8[XXSMALL_10];
|
|
XXSMALL_10 = object2.XXSMALL_10;
|
|
object27.height = value8[XXSMALL_10];
|
|
XXSMALL_10 = object2.XXSMALL_10;
|
|
object27.borderRadius = value8[XXSMALL_10] / 2;
|
|
object25.xsmall10 = object27;
|
|
const object28 = {};
|
|
XSMALL_20 = object2.XSMALL_20;
|
|
object28.width = value8[XSMALL_20];
|
|
XSMALL_20 = object2.XSMALL_20;
|
|
object28.height = value8[XSMALL_20];
|
|
XSMALL_20 = object2.XSMALL_20;
|
|
object28.borderRadius = value8[XSMALL_20] / 2;
|
|
object25.xsmall20 = object28;
|
|
const object29 = {};
|
|
XSMALL = object2.XSMALL;
|
|
object29.width = value8[XSMALL];
|
|
XSMALL = object2.XSMALL;
|
|
object29.height = value8[XSMALL];
|
|
XSMALL = object2.XSMALL;
|
|
object29.borderRadius = value8[XSMALL] / 2;
|
|
object25.xsmall = object29;
|
|
const object30 = {};
|
|
SMALL = object2.SMALL;
|
|
object30.width = value8[SMALL];
|
|
SMALL = object2.SMALL;
|
|
object30.height = value8[SMALL];
|
|
SMALL = object2.SMALL;
|
|
object30.borderRadius = value8[SMALL] / 2;
|
|
object25.small = object30;
|
|
const object31 = {};
|
|
NORMAL = object2.NORMAL;
|
|
object31.width = value8[NORMAL];
|
|
NORMAL = object2.NORMAL;
|
|
object31.height = value8[NORMAL];
|
|
NORMAL = object2.NORMAL;
|
|
object31.borderRadius = value8[NORMAL] / 2;
|
|
object25.normal = object31;
|
|
const object32 = {};
|
|
LARGE = object2.LARGE;
|
|
object32.width = value8[LARGE];
|
|
LARGE = object2.LARGE;
|
|
object32.height = value8[LARGE];
|
|
LARGE = object2.LARGE;
|
|
object32.borderRadius = value8[LARGE] / 2;
|
|
object25.large = object32;
|
|
const object33 = {};
|
|
XLARGE = object2.XLARGE;
|
|
object33.width = value8[XLARGE];
|
|
XLARGE = object2.XLARGE;
|
|
object33.height = value8[XLARGE];
|
|
XLARGE = object2.XLARGE;
|
|
object33.borderRadius = value8[XLARGE] / 2;
|
|
object25.xlarge = object33;
|
|
const object34 = {};
|
|
XLARGE_72 = object2.XLARGE_72;
|
|
object34.width = value8[XLARGE_72];
|
|
XLARGE_72 = object2.XLARGE_72;
|
|
object34.height = value8[XLARGE_72];
|
|
XLARGE_72 = object2.XLARGE_72;
|
|
object34.borderRadius = value8[XLARGE_72] / 2;
|
|
object25.xlarge72 = object34;
|
|
const object35 = {};
|
|
XXLARGE = object2.XXLARGE;
|
|
object35.width = value8[XXLARGE];
|
|
XXLARGE = object2.XXLARGE;
|
|
object35.height = value8[XXLARGE];
|
|
XXLARGE = object2.XXLARGE;
|
|
object35.borderRadius = value8[XXLARGE] / 2;
|
|
object25.xxlarge = object35;
|
|
const object36 = {};
|
|
REFRESH_MEDIUM_32 = object2.REFRESH_MEDIUM_32;
|
|
object36.width = value8[REFRESH_MEDIUM_32];
|
|
REFRESH_MEDIUM_32 = object2.REFRESH_MEDIUM_32;
|
|
object36.height = value8[REFRESH_MEDIUM_32];
|
|
REFRESH_MEDIUM_32 = object2.REFRESH_MEDIUM_32;
|
|
object36.borderRadius = value8[REFRESH_MEDIUM_32] / 2;
|
|
object25.refreshMedium32 = object36;
|
|
const object37 = {};
|
|
PROFILE = object2.PROFILE;
|
|
object37.width = value8[PROFILE];
|
|
PROFILE = object2.PROFILE;
|
|
object37.height = value8[PROFILE];
|
|
PROFILE = object2.PROFILE;
|
|
object37.borderRadius = value8[PROFILE] / 2;
|
|
object25.profile = object37;
|
|
const object38 = {};
|
|
SIZE_16 = object2.SIZE_16;
|
|
object38.width = value8[SIZE_16];
|
|
SIZE_16 = object2.SIZE_16;
|
|
object38.height = value8[SIZE_16];
|
|
SIZE_16 = object2.SIZE_16;
|
|
object38.borderRadius = value8[SIZE_16] / 2;
|
|
object25.size16 = object38;
|
|
const object39 = {};
|
|
LARGE_48 = object2.LARGE_48;
|
|
object39.width = value8[LARGE_48];
|
|
LARGE_48 = object2.LARGE_48;
|
|
object39.height = value8[LARGE_48];
|
|
LARGE_48 = object2.LARGE_48;
|
|
object39.borderRadius = value8[LARGE_48] / 2;
|
|
object25.large48 = object39;
|
|
const object40 = {};
|
|
EDIT_AVATAR_DECORATION = object2.EDIT_AVATAR_DECORATION;
|
|
object40.width = value8[EDIT_AVATAR_DECORATION];
|
|
EDIT_AVATAR_DECORATION = object2.EDIT_AVATAR_DECORATION;
|
|
object40.height = value8[EDIT_AVATAR_DECORATION];
|
|
EDIT_AVATAR_DECORATION = object2.EDIT_AVATAR_DECORATION;
|
|
object40.borderRadius = value8[EDIT_AVATAR_DECORATION] / 2;
|
|
object25.editAvatarDecoration = object40;
|
|
const object41 = {};
|
|
GIFT_START = object2.GIFT_START;
|
|
object41.width = value8[GIFT_START];
|
|
GIFT_START = object2.GIFT_START;
|
|
object41.height = value8[GIFT_START];
|
|
GIFT_START = object2.GIFT_START;
|
|
object41.borderRadius = value8[GIFT_START] / 2;
|
|
object25.giftStart = object41;
|
|
const object42 = {};
|
|
GIFT_SUCCESS = object2.GIFT_SUCCESS;
|
|
object42.width = value8[GIFT_SUCCESS];
|
|
GIFT_SUCCESS = object2.GIFT_SUCCESS;
|
|
object42.height = value8[GIFT_SUCCESS];
|
|
GIFT_SUCCESS = object2.GIFT_SUCCESS;
|
|
object42.borderRadius = value8[GIFT_SUCCESS] / 2;
|
|
object25.giftSuccess = object42;
|
|
const object43 = {};
|
|
YOUBAR_60 = object2.YOUBAR_60;
|
|
object43.width = value8[YOUBAR_60];
|
|
YOUBAR_60 = object2.YOUBAR_60;
|
|
object43.height = value8[YOUBAR_60];
|
|
YOUBAR_60 = object2.YOUBAR_60;
|
|
object43.borderRadius = value8[YOUBAR_60] / 2;
|
|
object25.youBar60 = object43;
|
|
const object44 = {};
|
|
TABS_22 = object2.TABS_22;
|
|
object44.width = value8[TABS_22];
|
|
TABS_22 = object2.TABS_22;
|
|
object44.height = value8[TABS_22];
|
|
TABS_22 = object2.TABS_22;
|
|
object44.borderRadius = value8[TABS_22] / 2;
|
|
object25.tabs22 = object44;
|
|
const object45 = {RIGHT: 0};
|
|
object45[0] = 'RIGHT';
|
|
object45.BOTTOM_RIGHT = 1;
|
|
object45[1] = 'BOTTOM_RIGHT';
|
|
object45.BOTTOM_LEFT = 2;
|
|
object45[2] = 'BOTTOM_LEFT';
|
|
const object46 = {RECTANGULAR: 0};
|
|
object46[0] = 'RECTANGULAR';
|
|
object46.CIRCULAR = 1;
|
|
object46[1] = 'CIRCULAR';
|
|
const env0_13 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).createAnimatedComponent(importDefault(7599) /* metro dependency 7599: ClipView */);
|
|
const env0_14 = {code: "function CutoutableAvatarImageTsx1(){const{animate,cutout,CutoutShape,withSpring,CHANNEL_SPRING_CONFIG}=this.__closure;const animated=!animate?'animate-never':undefined;const animatedCutout=cutout.shape===CutoutShape.RoundedRect?{shape:CutoutShape.RoundedRect,x:withSpring(cutout.x,CHANNEL_SPRING_CONFIG,animated),y:withSpring(cutout.y,CHANNEL_SPRING_CONFIG,animated),width:withSpring(cutout.width,CHANNEL_SPRING_CONFIG,animated),height:withSpring(cutout.height,CHANNEL_SPRING_CONFIG,animated),cornerRadius:withSpring(cutout.cornerRadius,CHANNEL_SPRING_CONFIG,animated)}:{shape:CutoutShape.Circle,x:withSpring(cutout.x,CHANNEL_SPRING_CONFIG,animated),y:withSpring(cutout.y,CHANNEL_SPRING_CONFIG,animated),size:withSpring(cutout.size,CHANNEL_SPRING_CONFIG,animated)};return{cutouts:[animatedCutout]};}"};
|
|
value = value.memo(_fun79623, customShallowEqual);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('design/void/CutoutableAvatarImage/native/CutoutableAvatarImage.tsx');
|
|
exports.default = value;
|
|
exports.AvatarSizes = object2;
|
|
exports.AVATAR_SIZE_MAP = value8;
|
|
exports.styles = object25;
|
|
exports.CutoutDirection = object45;
|
|
exports.CutoutType = object46;
|
|
}
|
|
|
|
function NativeCutoutAvatarImage({animate, cutout, source, style}) { // fn#79620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:3747, offset: 0x01e5ac93, size: 282 bytes, params: 2, frame: 21
|
|
animate = !(animate === undefined) && animate;
|
|
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
const useAnimatedProps = reanimatedRexportModule.useAnimatedProps;
|
|
const closure = NativeCutoutAvatarImageH;
|
|
const object2 = {animate: animate, cutout: cutout};
|
|
const CutoutShape = (require(7599) /* metro dependency 7599: ClipView */).CutoutShape;
|
|
object2.CutoutShape = CutoutShape;
|
|
object2.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
|
|
object2.CHANNEL_SPRING_CONFIG = CHANNEL_SPRING_CONFIG;
|
|
closure.__closure = object2;
|
|
closure.__workletHash = 11368409055559;
|
|
closure.__initData = env0_14;
|
|
return ((Component) => <Component style={style} animatedProps={Reflect.apply(useAnimatedProps,
|
|
reanimatedRexportModule,
|
|
[closure])}>{((Component) => <Component style={env0_10.image} source={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)} usesSmallCache />)(importDefault(5475) /* metro dependency 5475: FastImage */)}</Component>)(env0_13);
|
|
}
|
|
|
|
function CutoutAvatarImage({cutout, size, source, style}) { // fn#79622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:4604, offset: 0x01e5af76, size: 1183 bytes, params: 2, frame: 39
|
|
var r28;
|
|
var r9;
|
|
var r8;
|
|
var value7;
|
|
var value9;
|
|
const Rect = (require(7744) /* metro dependency 7744 */).Rect;
|
|
var color;
|
|
let value = size / 2;
|
|
const r26 = cutout.radius ?? value;
|
|
const r2 = cutout.inset ?? 0;
|
|
const r11 = cutout.imageType ?? env0_12.CIRCULAR;
|
|
const value5 = size - r2;
|
|
let CIRCULAR = env0_12.CIRCULAR;
|
|
let r27 = r11 !== CIRCULAR ? size : value;
|
|
const direction = cutout.direction;
|
|
const BOTTOM_RIGHT = env0_11.BOTTOM_RIGHT;
|
|
if (BOTTOM_RIGHT === direction) {
|
|
value9 = size - r26 - r2;
|
|
r27 = size - r26 - r2;
|
|
r28 = value9;
|
|
} else if (env0_11.BOTTOM_LEFT !== direction) {
|
|
r28 = value5;
|
|
} else {
|
|
value7 = r26 + r2;
|
|
r27 = size - r26 - r2;
|
|
r28 = value7;
|
|
}
|
|
const value11 = (require(491) /* metro dependency 491 */).v4();
|
|
const tintColor = StyleSheet.flatten(style).tintColor;
|
|
if (source == null) {
|
|
const Image = (require(7744) /* metro dependency 7744 */).Image;
|
|
r9 = <Image x="0" y="0" height="100%" width="100%" href={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)} mask={'url(#' + value11 + ')'} />;
|
|
} else if (tintColor != null) {
|
|
const ForeignObject = (require(7744) /* metro dependency 7744 */).ForeignObject;
|
|
r9 = <ForeignObject x="0" y="0" height="100%" width="100%" mask={'url(#' + value11 + ')'}>{((Component) => <Component style={{tintColor: tintColor}} source={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)} usesSmallCache />)(importDefault(5475) /* metro dependency 5475: FastImage */)}</ForeignObject>;
|
|
} else {
|
|
const Image2 = (require(7744) /* metro dependency 7744 */).Image;
|
|
r9 = <Image2 x="0" y="0" height="100%" width="100%" href={(importDefault(10255) /* metro dependency 10255: getReactNativeSVGImageSource */)(source)} mask={'url(#' + value11 + ')'} />;
|
|
}
|
|
const defaultImport2 = importDefault(7744) /* metro dependency 7744 */;
|
|
const Defs = (require(7744) /* metro dependency 7744 */).Defs;
|
|
const Mask = (require(7744) /* metro dependency 7744 */).Mask;
|
|
CIRCULAR = env0_12.CIRCULAR;
|
|
const r23 = r11 === CIRCULAR ? <Circle cx={value} cy={value} r={value} fill="white" /> : <Rect x={0} y={0} height={size} width={size} fill="white" />;
|
|
var Circle = (require(7744) /* metro dependency 7744 */).Circle;
|
|
const items2 = [<Defs><Mask width={size} height={size} id={value11}>{r23}<Circle cx={r28} cy={r27} r={r26} fill="black" /></Mask></Defs>,
|
|
r9];
|
|
let border = cutout.border;
|
|
if (border != null) {
|
|
if (r11 === env0_12.CIRCULAR) {
|
|
border = cutout.border;
|
|
color = border.color;
|
|
border = cutout.border;
|
|
value = <Circle cx={value} cy={value} r={value} fill="none" mask={'url(#' + value11 + ')'} stroke={color} strokeWidth={border.width} />;
|
|
r9 = value;
|
|
} else {
|
|
border = cutout.border;
|
|
color = border.color;
|
|
border = cutout.border;
|
|
r9 = <Rect x={0} y={0} height={size} width={size} fill="none" mask={'url(#' + value11 + ')'} stroke={color} strokeWidth={border.width} />;
|
|
}
|
|
r8 = r9;
|
|
} else {
|
|
r8 = null;
|
|
}
|
|
items2[2] = r8;
|
|
return (
|
|
<View style={style}>
|
|
{((Component) => <Component height="100%" width="100%">{items2}</Component>)(defaultImport2)}
|
|
</View>
|
|
);
|
|
}
|
|
|
|
function _fun79623(a0) { // fn#79623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:5839, offset: 0x01e5b415, size: 632 bytes, params: 2, frame: 28
|
|
var r8;
|
|
var r12;
|
|
var r1;
|
|
var defaultImport;
|
|
var makeSource;
|
|
var defaultImport2;
|
|
var nativeCutouts;
|
|
const animate = a0.animate;
|
|
const cutout = a0.cutout;
|
|
let size = a0.size;
|
|
const style = a0.style;
|
|
let value = typeof size === 'number';
|
|
const r5 = value ? size : env0_9[size];
|
|
const r7 = value ? [{width: size, height: size}, style] : [env0_10[size], style];
|
|
const object2 = {};
|
|
copyDataProperties(object2, a0, undefined);
|
|
object2['animate'] = animate === true && cutout == null;
|
|
object2['size'] = r5;
|
|
const source = object2.source;
|
|
let user = object2.user;
|
|
const channel = object2.channel;
|
|
const guildId = object2.guildId;
|
|
const animate2 = object2.animate;
|
|
size = object2.size;
|
|
if (source != null) {
|
|
r8 = typeof source !== 'function' ? source : source(animate2);
|
|
} else if (user != null) {
|
|
r8 = user.getAvatarSource(guildId, animate2, size);
|
|
} else if (channel != null) {
|
|
value = require(10254) /* metro dependency 10254: getChannelIcon */;
|
|
value = value.getChannelIconURL(channel, size);
|
|
r8 = typeof value === 'number' || value == null ? value : {uri: value};
|
|
} else {
|
|
env0_8.warn('No image found from provided data');
|
|
r8 = undefined;
|
|
}
|
|
if (r8 == null) {
|
|
return null;
|
|
}
|
|
user = object2.user;
|
|
const disablePlaceholder = object2.disablePlaceholder;
|
|
value = undefined;
|
|
if (user == null) {
|
|
r12 = value;
|
|
} else if (disablePlaceholder) {
|
|
r12 = value;
|
|
} else {
|
|
defaultImport = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
|
|
makeSource = defaultImport.makeSource;
|
|
defaultImport2 = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
|
|
r12 = Reflect.apply(makeSource, defaultImport, [defaultImport2.getDefaultAvatarURL(user.id,
|
|
user.discriminator)]);
|
|
}
|
|
if (cutout != null) {
|
|
nativeCutouts = cutout.nativeCutouts;
|
|
r1 = (nativeCutouts == null ? value : nativeCutouts.length) === 1 ? <NativeCutoutAvatarImage animate={animate} cutout={cutout.nativeCutouts[0]} source={r8} style={r7} /> : <CutoutAvatarImage style={r7} size={r5} animate={animate} cutout={cutout} source={r8} />;
|
|
} else {
|
|
value = ((Component) => <Component style={r7} source={r8} placeholder={typeof r12 !== 'number' ? value : r12} usesSmallCache key="image" />)(importDefault(5475) /* metro dependency 5475: FastImage */);
|
|
r1 = value;
|
|
}
|
|
return r1;
|
|
}
|
|
|
|
function customShallowEqual(a0, a1) { // fn#79624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:6829, offset: 0x01e5b68d, size: 280 bytes, params: 3, frame: 20
|
|
var r0;
|
|
var r1;
|
|
var source;
|
|
var source2;
|
|
var value2;
|
|
var value3;
|
|
var Array;
|
|
var value4;
|
|
var value5;
|
|
var length;
|
|
var length2;
|
|
var value6;
|
|
var defaultImport2;
|
|
var property;
|
|
var value7;
|
|
let value = environment;
|
|
if ((importDefault(628) /* metro dependency 628: shallowEqual */)(a0, a1, ['source'])) {
|
|
source = a0.source;
|
|
source2 = a1.source;
|
|
if (source === source2) {
|
|
return true;
|
|
}
|
|
value2 = typeof source2;
|
|
if (value2 === 'number') {
|
|
reducibleJoin5: while (true) {
|
|
if (typeof source === 'number') {
|
|
return false;
|
|
}
|
|
break reducibleJoin5;
|
|
}
|
|
}
|
|
value3 = typeof source;
|
|
if (value2 !== value3) {
|
|
return false;
|
|
}
|
|
Array = global.Array;
|
|
if (Array.isArray(source2)) {
|
|
Array = global.Array;
|
|
reducibleJoin8: while (true) {
|
|
if (Array.isArray(source)) {
|
|
length = source.length;
|
|
length2 = source2.length;
|
|
if (length !== length2) {
|
|
return false;
|
|
}
|
|
length = source.length;
|
|
value6 = 0;
|
|
if (value6 < length) {
|
|
r1 = value6;
|
|
reducibleLoop15: while (true) {
|
|
defaultImport2 = importDefault(628) /* metro dependency 628: shallowEqual */;
|
|
property = source[r1];
|
|
if (!defaultImport2(property, source2[r1])) {
|
|
return false;
|
|
}
|
|
value7 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
|
|
length = source.length;
|
|
if (!(value7 < length)) {
|
|
return true;
|
|
}
|
|
r1 = value7;
|
|
continue reducibleLoop15;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
break reducibleJoin8;
|
|
}
|
|
}
|
|
value4 = value2 !== 'object';
|
|
reducibleJoin10: while (true) {
|
|
if (value4) {
|
|
r0 = value4;
|
|
break reducibleJoin10;
|
|
}
|
|
value5 = value3 !== 'object';
|
|
r0 = value5;
|
|
break reducibleJoin10;
|
|
}
|
|
reducibleJoin12: while (true) {
|
|
if (r0) {
|
|
break reducibleJoin12;
|
|
}
|
|
value = (importDefault(628) /* metro dependency 628: shallowEqual */)(source2, source);
|
|
r0 = value;
|
|
break reducibleJoin12;
|
|
}
|
|
return r0;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function NativeCutoutAvatarImageH() { // fn#79621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10438:3859, owner: NativeCutoutAvatarImage.h, offset: 0x01e5adad, size: 457 bytes, params: 1, frame: 25
|
|
var r2;
|
|
var object;
|
|
var moduleValue;
|
|
var withSpring;
|
|
var object4;
|
|
var moduleValue2;
|
|
var value;
|
|
const r7 = animate ? undefined : 'animate-never';
|
|
const shape = cutout.shape;
|
|
const CutoutShape = (require(7599) /* metro dependency 7599: ClipView */).CutoutShape;
|
|
const RoundedRect = CutoutShape.RoundedRect;
|
|
if (shape === RoundedRect) {
|
|
object4 = {};
|
|
object4.shape = CutoutShape.RoundedRect;
|
|
moduleValue2 = require(4577) /* metro dependency 4577: spring */;
|
|
withSpring = moduleValue2.withSpring;
|
|
cutoutBinding = cutout;
|
|
object4.x = Reflect.apply(withSpring, moduleValue2, [cutoutBinding.x, CHANNEL_SPRING_CONFIG, r7]);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object4.y = value.withSpring(cutoutBinding.y, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object4.width = value.withSpring(cutoutBinding.width, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object4.height = value.withSpring(cutoutBinding.height, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object4.cornerRadius = value.withSpring(cutoutBinding.cornerRadius, CHANNEL_SPRING_CONFIG, r7);
|
|
r2 = object4;
|
|
} else {
|
|
object = {};
|
|
object.shape = CutoutShape.Circle;
|
|
moduleValue = require(4577) /* metro dependency 4577: spring */;
|
|
withSpring = moduleValue.withSpring;
|
|
cutoutBinding = cutout;
|
|
object.x = Reflect.apply(withSpring, moduleValue, [cutoutBinding.x, CHANNEL_SPRING_CONFIG, r7]);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object.y = value.withSpring(cutoutBinding.y, CHANNEL_SPRING_CONFIG, r7);
|
|
value = require(4577) /* metro dependency 4577: spring */;
|
|
object.size = value.withSpring(cutoutBinding.size, CHANNEL_SPRING_CONFIG, r7);
|
|
r2 = object;
|
|
}
|
|
return {cutouts: [r2]};
|
|
}
|
|
|