| 53 | { os, installMethod, platform, version, release }: Types.ReleaseContextType |
| 54 | ): Array<T> => { |
| 55 | const checkCompatibility = (compatibility: T['compatibility']) => { |
| 56 | const checks = [ |
| 57 | !compatibility.os || compatibility.os.includes(os), |
| 58 | !compatibility.installMethod || |
| 59 | compatibility.installMethod.includes(installMethod), |
| 60 | !compatibility.platform || compatibility.platform.includes(platform), |
| 61 | !compatibility.semver || |
| 62 | compatibility.semver.every(semver => satisfies(version, semver)), |
| 63 | !compatibility.releases || |
| 64 | compatibility.releases.includes(release.status), |
| 65 | ]; |
| 66 | |
| 67 | return checks.every(Boolean); |
| 68 | }; |
| 69 | |
| 70 | return items.map(item => ({ |
| 71 | ...item, |