MCPcopy Create free account
hub / github.com/FSGModding/FSG_Mod_Assistant / #doModBadge

Method #doModBadge

lib/modCheckLib.js:734–809  ·  view source on GitHub ↗
(modRecord, hasConflicts = false, hasDepend = false, requireSet)

Source from the content-addressed store, hash-verified

732 }
733
734 #doModBadge(modRecord, hasConflicts = false, hasDepend = false, requireSet) {
735 if ( modRecord.fileDetail.isSaveGame ) {
736 const shortCut = new badgeHandle(['notmod', 'savegame'], this.#badgeNamed)
737
738 if ( modRecord.fileDetail.isFolder ) { shortCut.add('folder') }
739
740 return shortCut.keyList
741 }
742
743 const newBadge = new badgeHandle(modRecord.badgeArray, this.#badgeNamed)
744 const thisMHRec = this.modHubFullRecord(modRecord)
745
746 if ( this.#list_newMods.has(modRecord.uuid) ) {
747 newBadge.add('new')
748 }
749
750 if ( modRecord.fileDetail.isFolder ) {
751 if ( Object.hasOwn(this.#map_FolderToCollection, modRecord.fileDetail.fullPath) ) {
752 newBadge.add('collect')
753 }
754
755 newBadge.add('noMP')
756 }
757
758 if ( requireSet.has(modRecord.fileDetail.shortName ) ) {
759 newBadge.add('require')
760 }
761
762 if ( modRecord.modDesc.mapConfigFile !== null ) {
763 newBadge.add('map')
764 }
765
766 if ( thisMHRec.id !== null ) {
767 if ( modRecord.modDesc.version !== thisMHRec.version ) {
768 newBadge.add('update')
769 }
770 if ( thisMHRec.recent ) {
771 newBadge.add('recent')
772 }
773 } else {
774 newBadge.add('nonmh')
775 }
776
777 newBadge.add(`fs${modRecord.gameVersion}`)
778
779 if ( Object.hasOwn(this.#siteStore, modRecord.fileDetail.shortName) ) {
780 newBadge.add('web')
781 }
782
783 if ( Object.keys(modRecord.modDesc.binds).length !== 0 ) {
784 if ( hasConflicts !== false ) {
785 newBadge.add('keys_bad')
786 newBadge.addTitle('keys_bad', hasConflicts)
787 } else {
788 newBadge.add('keys_ok')
789 }
790 }
791

Callers 1

#doBadgesMethod · 0.95

Calls 6

addMethod · 0.95
modHubFullRecordMethod · 0.95
addTitleMethod · 0.95
pruneOnMethod · 0.95
hasMethod · 0.80
keysMethod · 0.80

Tested by

no test coverage detected