| package platforms |
| |
| import ( |
| cplatforms "github.com/containerd/containerd/platforms" |
| ocispec "github.com/opencontainers/image-spec/specs-go/v1" |
| ) |
| |
| type allPlatformsWithPreferenceMatcher struct { |
| preferred cplatforms.MatchComparer |
| } |
| |
| // AllPlatformsWithPreference will return a platform matcher that matches all |
| // platforms but will order platforms matching the preferred matcher first. |
| func AllPlatformsWithPreference(preferred cplatforms.MatchComparer) cplatforms.MatchComparer { |
| return allPlatformsWithPreferenceMatcher{ |
| preferred: preferred, |
| } |
| } |
| |
| func (c allPlatformsWithPreferenceMatcher) Match(_ ocispec.Platform) bool { |
| return true |
| } |
| |
| func (c allPlatformsWithPreferenceMatcher) Less(p1, p2 ocispec.Platform) bool { |
| return c.preferred.Less(p1, p2) |
| } |