content: Add InfoReaderProvider

The interface that combines both content.InfoProvider and
content.Provider was duplicated in multiple places - create one directly
in `content` package and use it instead.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
Paweł Gronowski
2024-01-05 16:37:26 +01:00
parent c7c6bb9d13
commit 8235665e7e
5 changed files with 15 additions and 33 deletions

View File

@@ -75,13 +75,7 @@ func WithManifestUsage() Opt {
}
}
// ContentProvider provides both content and info about content
type ContentProvider interface {
content.Provider
content.InfoProvider
}
func CalculateImageUsage(ctx context.Context, i images.Image, provider ContentProvider, opts ...Opt) (int64, error) {
func CalculateImageUsage(ctx context.Context, i images.Image, provider content.InfoReaderProvider, opts ...Opt) (int64, error) {
var config usageOptions
for _, opt := range opts {
if err := opt(&config); err != nil {