/* Metro module 4898; source: modules/guilds_bar/GuildsTree.tsx; dependencies: [6, 7, 44, 22, 2] */ import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import Module00044 from '../../by-id/module-00044.js'; /* Metro dependency 44 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as Module00022Module from '../../by-id/module-00022.js'; /* Metro dependency 22 */ function _fun43159(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#43159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:6, offset: 0x0114bc33, size: 209 bytes, params: 8, frame: 19 const env0_0 = require; const randomFolderId = function() { var Math = global.Math; var Math2 = global.Math; return Math.floor(4294967296 * Math2.random()); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const value = _fun43161(); (FileImportTrackerModule).fileFinishedImporting('modules/guilds_bar/GuildsTree.tsx'); exports.GuildsNodeType = {ROOT: 'root', FOLDER: 'folder', GUILD: 'guild'}; exports.GuildsTree = value; exports.createGuildNode = createGuildNode; exports.createFolderNode = createFolderNode; function _fun43161() { // fn#43161, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:268, offset: 0x0114bd37, size: 381 bytes, params: 1, frame: 15 return CreateClass(GuildsTree, [{key: 'getSnapshot', value: value_43163}, {key: 'loadSnapshot', value: value_43166}, {key: 'moveNextTo', value: value_43169}, {key: 'moveInto', value: function(a0, a1) { var r3; var r5; var property; var value = a2; r3 = !(value !== undefined) || value; this._pluckNode(a0); value = 0; r5 = r3 ? a1.children.length : value; property = a1.children; var items = []; arraySpread(items, property, value, value); a1.children = items; a1.children.splice(r5, value, a0); a0.parentId = a1.id; property = this.version; this.version = typeof property === 'bigint' ? property + 1n : +property + 1; return this; }}, {key: 'addNode', value: value_43171}, {key: 'removeNode', value: value_43172}, {key: 'replaceNode', value: value_43173}, {key: 'cloneNode', value: value_43174}, {key: 'convertToFolder', value: value_43175}, {key: 'allNodes', value: function() { var Object = global.Object; return Object.values(this.nodes); }}, {key: 'getNode', value: function(a0) { return this.nodes[a0]; }}, {key: 'getRoots', value: function() { return this.root.children; }}, {key: 'size', get: function() { return this.allNodes().length; }}, {key: 'sortedGuildNodes', value: function() { var closure = _fun43181; var env0_0 = closure; return closure(this.root); }}, {key: '_pluckNode', value: value_43183}]); function GuildsTree() { // fn#43162, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:289, offset: 0x0114beb4, size: 73 bytes, params: 1, frame: 14 env1_3(this, GuildsTree); const ROOT = env1_5.ROOT; this.root = {type: ROOT, children: []}; this.nodes = {}; this.version = 0; } function value_43163() { // fn#43163, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:423, offset: 0x0114befd, size: 141 bytes, params: 1, frame: 25 var r15; var propertyName; var nodes2; var property; var object; var children; var map; const object2 = {}; for (propertyName in this.nodes) { nodes2 = this.nodes; property = nodes2[propertyName]; object = {}; copyDataProperties(object, property, r15); object['children'] = undefined; children = property.children; map = children.map; object['childrenIds'] = Reflect.apply(map, children, [function(a0) { return a0.id; }]); object2[propertyName] = object; r15 = children; } const object3 = {}; object3.rootChildrenIds = this.root.children.map(function(a0) { return a0.id; }); object3.nodes = object2; return object3; } function value_43166({nodes, rootChildrenIds}) { // fn#43166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:648, offset: 0x0114bf8a, size: 157 bytes, params: 2, frame: 21 var r6; var propertyName; var propertyName2; var nodes2; var property; var childrenIds; this.nodes = nodes; for (propertyName in this.nodes) { nodes2 = this.nodes; property = nodes2[propertyName]; if (!('childrenIds' in property)) { r6 = propertyName2; continue; } childrenIds = property.childrenIds; property.children = childrenIds.map(_fun43167); delete property.childrenIds; r6 = propertyName2; } this.root.children = rootChildrenIds.map(_fun43168); const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; function _fun43167(a0) { // fn#43167, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:774, offset: 0x0114c027, size: 22 bytes, params: 2, frame: 2 return env0_0.nodes[a0]; } function _fun43168(a0) { // fn#43168, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:857, offset: 0x0114c027, size: 22 bytes, params: 2, frame: 2 return env0_0.nodes[a0]; } } function value_43169(a0, a1) { // fn#43169, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:917, offset: 0x0114c03d, size: 353 bytes, params: 3, frame: 29 let value = a2; const r4 = value !== undefined ? value : false; this._pluckNode(a0); const r1 = a1.parentId != null ? this.nodes[a1.parentId] : this.root; let children = r1.children; value = children.indexOf(a1); const defaultImport = Module00044; const type = a0.type; const FOLDER = env1_5.FOLDER; defaultImport(!(type === FOLDER && r1.type === env1_5.FOLDER), '[GUILDS TREE] Tried moving a folder (' + a0.id + ') inside of another folder (' + r1.id + ')'); const defaultImport2 = defaultImport; const value6 = 0; defaultImport2(value >= value6, '[GUILDS TREE] target node (' + a1.id + ') did not exist within its specified parent (' + a1.parentId + ')'); const r3 = r4 ? 1 : value6; children = r1.children; const items2 = []; arraySpread(items2, children, value6, ')'); r1.children = items2; r1.children.splice(value + r3, value6, a0); a0.parentId = r1.id; const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; return this; } function value_43171(a0) { // fn#43171, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:1594, offset: 0x0114c214, size: 231 bytes, params: 2, frame: 22 let value = a1; const value2 = a2; const r3 = value !== undefined ? value : this.root; const r2 = !(value2 !== undefined) || value2; value = environment.__proto__; const defaultImport = Module00044; const type = a0.type; const ROOT = env1_5.ROOT; defaultImport(type !== ROOT, '[GUILDS TREE] Tried adding another root node into the tree'); defaultImport(a0.id != null, '[GUILDS TREE] Tried adding a node without an id'); defaultImport(this.nodes[a0.id] == null, '[GUILDS TREE] Tried adding a node that already exists (' + a0.id + ')'); this.nodes[a0.id] = a0; const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; return this.moveInto(a0, r3, r2); } function value_43172(a0) { // fn#43172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:1965, offset: 0x0114c2fb, size: 134 bytes, params: 2, frame: 18 const value = environment.__proto__; (Module00044)(a0 !== this.root, '[GUILDS TREE] Tried removing the root node from the tree'); (Module00044)(a0.id != null, '[GUILDS TREE] Tried removing a node without an id'); this._pluckNode(a0); a0.parentId = undefined; delete this.nodes[a0.id]; const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; return this; } function value_43173(a0, a1) { // fn#43173, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:2246, offset: 0x0114c381, size: 321 bytes, params: 3, frame: 26 const value = environment.__proto__; (Module00044)(a0.id != null, '[GUILDS TREE] Tried replacing a node without an id'); (Module00044)(a1.id != null, '[GUILDS TREE] Tried replacing a node with one that does not have an id'); const r4 = a0.parentId != null ? this.nodes[a0.parentId] : this.root; let children = r4.children; const value2 = children.indexOf(a0); (Module00044)(value2 >= 0, '[GUILDS TREE] existing node (' + a0.id + ') did not exist within its specified parent (' + a0.parentId + ')'); children = r4.children; const items2 = []; arraySpread(items2, children, 0, ')'); r4.children = items2; r4.children.splice(value2, 1, a1); a1.parentId = r4.id; a0.parentId = undefined; delete this.nodes[a0.id]; this.nodes[a1.id] = a1; const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; return this; } function value_43174(a0) { // fn#43174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:2799, offset: 0x0114c4c2, size: 41 bytes, params: 2, frame: 11 const value = environment.__proto__; return (Module00022Module).clone(a0); } function value_43175(a0) { // fn#43175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:2866, offset: 0x0114c4eb, size: 150 bytes, params: 2, frame: 18 var r1; var value4; const value2 = randomFolderId(); if (this.getNode(value2) == null) { r1 = value2; } else { while (true) { value4 = randomFolderId(); getNode = this.getNode; if (Reflect.apply(getNode, this, [value4]) == null) { r1 = value4; break; } } } const object = {}; const FOLDER = env1_5.FOLDER; object.type = FOLDER; object.id = r1; object.expanded = false; object.children = []; this.replaceNode(a0, object); this.removeNode(a0); this.addNode(a0, object, false); const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; return object; } function value_43180() { // fn#43180, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:3360, offset: 0x0114c5d4, size: 29 bytes, params: 1, frame: 11 return collectChildren(this.root); function collectChildren(a0) { // fn#43181, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:3378, owner: value_43180.collectChildren, offset: 0x0114c5f1, size: 89 bytes, params: 2, frame: 12 var environment; var r0; const type = a0.type; let value = environment.__proto__.__proto__; const GUILD = env2_5.GUILD; if (type === GUILD) { r0 = [a0]; } else if (a0.children == null) { r0 = []; } else { value = a0.children.map(function(a0) { return collectChildren(a0); }); value = value.flat(); r0 = value; } return r0; } } function value_43183(a0) { // fn#43183, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:3539, offset: 0x0114c65d, size: 241 bytes, params: 2, frame: 29 var environment; const env0_0 = a0; const r4 = a0.parentId != null ? this.nodes[a0.parentId] : this.root; const value = environment.__proto__; (Module00044)(r4 != null, '[GUILDS TREE] source node (' + a0.id + ') had a parent id (' + a0.parentId + ") which doesn't exist in the tree"); const children = r4.children; (Module00044)(children != null, '[GUILDS TREE] source node (' + a0.id + ') had a parent id (' + a0.parentId + ') which contains no children'); r4.children = children.filter(_fun43184); a0.parentId = undefined; const version = this.version; this.version = typeof version === 'bigint' ? version + 1n : +version + 1; function _fun43184(a0) { // fn#43184, offset: 0x00ce1772, size: 16 bytes, params: 2, frame: 2 return a0 !== env0_0; } } } function createGuildNode(a0, a1) { // fn#43185, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:4048, offset: 0x0114c74e, size: 51 bytes, params: 3, frame: 2 const GUILD = env0_5.GUILD; return {type: GUILD, id: a0, parentId: a1, children: [], unavailable: false}; } function createFolderNode(a0, a1, a2) { // fn#43186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5076:4162, offset: 0x0114c781, size: 127 bytes, params: 4, frame: 8 const value = a2; const FOLDER = env0_5.FOLDER; const folderName = a0.folderName; const value3 = undefined; return {type: FOLDER, id: a0.folderId, parentId: a1, name: folderName ?? value3, color: a0.folderColor ?? value3, expanded: value ?? (a0.expanded ?? a0.expanded != null), children: []}; } } global.__d(_fun43159, 4898, [6, 7, 44, 22, 2]) /* metro module 4898, dependencies: [6, 7, 44, 22, 2] */;