// Module ID: 7114 // Function ID: 7115 // Name: LibraryApplicationRecord // Dependencies: [1405, 5440, 7111, 1085, 4702, 1403, 2] // Module 7114 (LibraryApplicationRecord) import FlagUtilsAll from "FlagUtils" /* 1403 */; import _modDef4702 from "module_4702" /* 4702 */; import Record from "Record" /* 1405 */; import ApplicationStore from "ApplicationStore" /* 5440 */; import EntitlementRecord from "EntitlementRecord" /* 7111 */; import Constants from "Constants" /* 1085 */; import size from "module_2" /* 2 */; let hasOwnProperty; let metroImportDefault; let metroRequire; ({ LibraryApplicationFlags: hasOwnProperty, Distributors: metroRequire, SKUTypes: metroImportDefault } = Constants); class LibraryApplicationRecord extends Record { constructor(isTestMode) { const tmp = new LibraryApplicationRecord(new.target, this, isTestMode); ({ id: tmp.id, createdAt: tmp.createdAt, flags: tmp.flags, branchId: tmp.branchId, entitlements: tmp.entitlements, branch: tmp.branch, sku: tmp.sku } = isTestMode); tmp.isTestMode = isTestMode.isTestMode || false; return tmp; } static createFromServer(id) { let entitlements; let entitlementsResult; let mapped; let obj2; let prop; const obj = { id: id.application.id, branchId: id.branch_id, entitlements: mapped, branch: null, flags: null, createdAt: null, sku: obj2 }; const tmp2 = LibraryApplicationRecord; if (null != id.entitlements) { entitlements = id.entitlements; mapped = entitlements.map((item) => EntitlementRecord.createFromServer(item)); } else { mapped = []; } ({ branch: obj.branch, flags: obj.flags, created_at: obj.createdAt } = id); obj2 = { id: id.sku.id, type: id.sku.type, premium: id.sku.premium, preorderReleaseAt: entitlementsResult, preorderApproximateReleaseDate: prop }; entitlementsResult = null; if (null != id.sku.preorder_release_at) { entitlements = _modDef4702; entitlementsResult = entitlements(id.sku.preorder_release_at); } prop = null; if (null != id.sku.preorder_approximate_release_date) { prop = id.sku.preorder_approximate_release_date; } if (typeof tmp2 === "function") { const self = this; const self2 = this; const tmp9 = new LibraryApplicationRecord(tmp, entitlements, tmp3); ({ id: tmp9.id, createdAt: tmp9.createdAt, flags: tmp9.flags, branchId: tmp9.branchId, entitlements: tmp9.entitlements, branch: tmp9.branch, sku: tmp9.sku } = obj); tmp9.isTestMode = obj.isTestMode || false; return tmp9; } else { throw new TypeError("Trying to call a non-function"); } } static createForTestMode(id) { id = id.id; const id2 = id.branch.id; const branch = id.branch; const ENTITLED = hasOwnProperty.ENTITLED; const created_at = id.branch.created_at; const obj = { id: id.skuId, type: metroImportDefault.DURABLE_PRIMARY, premium: false }; if (typeof LibraryApplicationRecord === "function") { const items = []; const self = this; const self2 = this; const tmp4 = new LibraryApplicationRecord(tmp, tmp2, this, id, created_at, ENTITLED, id2, items, branch); tmp4.id = id; tmp4.createdAt = created_at; tmp4.flags = ENTITLED; tmp4.branchId = id2; tmp4.entitlements = items; tmp4.branch = branch; tmp4.sku = obj; tmp4.isTestMode = true; return tmp4; } else { throw new TypeError("Trying to call a non-function"); } } getFlags() { return this.flags; } hasFlag(arg0) { const obj = FlagUtilsAll; return obj.hasFlag(this.flags, arg0); } isHidden() { return this.hasFlag(hasOwnProperty.HIDDEN); } isLegacyOverlayEnabled() { return !this.hasFlag(hasOwnProperty.OVERLAY_DISABLED); } isOverlayV3Enabled() { return !this.hasFlag(hasOwnProperty.OVERLAY_V3_DISABLED); } isOverlayEnabled() { const self = this; const tmp = this.isLegacyOverlayEnabled() || self.isOverlayV3Enabled(); return tmp; } isMasterBranch() { return this.branchId === this.id; } isDiscordApplication() { return true; } isEntitled(currentUser, SKUStore) { const self = this; let closure_1 = currentUser; let closure_0 = SKUStore; let someResult = this.isTestMode; if (!someResult) { const entitlements = this.entitlements; someResult = entitlements.some((isValid) => isValid.isValid(currentUser, SKUStore, self.branchId)); } return someResult; } isPreorder() { return null != this.sku.preorderReleaseAt || null != this.sku.preorderApproximateReleaseDate; } getDistributor() { return metroRequire.DISCORD; } getBranchName() { let str = "master"; if (null != this.branch) { str = this.branch.name; } return str; } getBranchedName(name) { const self = this; if (!this.isMasterBranch()) { if (null != self.branch) { const _HermesInternal = HermesInternal; name = "" + name.name + " (" + self.branch.name + ")"; } return name; } name = name.name; } getSkuIdForAnalytics() { return this.sku.id; } getAnalyticsData() { let name; const self = this; const application = ApplicationStore.getApplication(this.id); let id = null; if (null != application) { id = application.id; } const obj = { application_id: id, application_name: name, sku_id: self.getSkuIdForAnalytics(), launcher_platform: self.getDistributor() }; name = null; if (null != application) { name = application.name; } return obj; } } const prototype = LibraryApplicationRecord.prototype; const result = size.fileFinishedImporting("records/LibraryApplicationRecord.tsx"); export default LibraryApplicationRecord;