z_mirror/fmm
git clone https://git.raiguard.me/z_mirror/fmm
55d7e4d
updating
1package fmm 2 3type Mod struct { 4Name string 5Enabled * Version 6releases []* Release 7isInternal bool 8} 9 10func (m * Mod )GetLatestRelease ()* Release { 11return m .releases [len (m .releases )- 1 ] 12} 13 14func (m * Mod )GetRelease (version * Version )* Release { 15if version == nil { 16return m .GetLatestRelease () 17 } 18return m .GetMatchingRelease (& Dependency { 19m .Name , 20version , 21DependencyRequired , 22VersionEq , 23 }) 24} 25 26func (m * Mod )GetMatchingRelease (dep * Dependency )* Release { 27// Iterate in reverse to get the newest version first 28for i := len (m .releases )- 1 ;i >= 0 ;i -- { 29release := m .releases [i ] 30if dep .Test (& release .Version ) { 31return release 32 } 33 } 34return nil 35}