github.com/YousefHaggyHeroku/pack@v1.5.5/internal/builder/image_fetcher_wrapper.go (about) 1 package builder 2 3 import ( 4 "context" 5 6 "github.com/buildpacks/imgutil" 7 8 pubcfg "github.com/YousefHaggyHeroku/pack/config" 9 ) 10 11 type ImageFetcher interface { 12 // Fetch fetches an image by resolving it both remotely and locally depending on provided parameters. 13 // If daemon is true, it will look return a `local.Image`. Pull, applicable only when daemon is true, will 14 // attempt to pull a remote image first. 15 Fetch(ctx context.Context, name string, daemon bool, pullPolicy pubcfg.PullPolicy) (imgutil.Image, error) 16 } 17 18 type ImageFetcherWrapper struct { 19 fetcher ImageFetcher 20 } 21 22 func NewImageFetcherWrapper(fetcher ImageFetcher) *ImageFetcherWrapper { 23 return &ImageFetcherWrapper{ 24 fetcher: fetcher, 25 } 26 } 27 28 func (w *ImageFetcherWrapper) Fetch( 29 ctx context.Context, 30 name string, 31 daemon bool, 32 pullPolicy pubcfg.PullPolicy, 33 ) (Inspectable, error) { 34 return w.fetcher.Fetch(ctx, name, daemon, pullPolicy) 35 }