Skip to content

Commit

Permalink
name the GenerateFromInjectionChain functions
Browse files Browse the repository at this point in the history
  • Loading branch information
muir committed Mar 15, 2022
1 parent 0f94085 commit 5567ba2
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
1 change: 1 addition & 0 deletions example_generated_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ func ExampleGenerateFromInjectionChain() {
return 3
},
nject.GenerateFromInjectionChain(
"example",
func(before nject.Collection, after nject.Collection) (nject.Provider, error) {
full := before.Append("after", after)
inputs, outputs := full.DownFlows()
Expand Down
12 changes: 10 additions & 2 deletions filler_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,19 @@ type postActionOption struct {
// injection chain to replace itself with a regular provider. The ReplaceSelf method will
// be called only once.
type generatedFromInjectionChain interface {
String() string
ReplaceSelf(chainBefore Collection, chainAfter Collection) (selfReplacement Provider, err error)
}

var _ generatedFromInjectionChain = gfic{}

type gfic struct {
f func(chainBefore Collection, chainAfter Collection) (selfReplacement Provider, err error)
name string
f func(chainBefore Collection, chainAfter Collection) (selfReplacement Provider, err error)
}

func (g gfic) String() string { return g.name }

func (g gfic) ReplaceSelf(before Collection, after Collection) (selfReplacement Provider, err error) {
return g.f(before, after)
}
Expand All @@ -53,9 +57,13 @@ func (g gfic) ReplaceSelf(before Collection, after Collection) (selfReplacement
// parameter is a Collection representing all the providers that are later
// in the chain from the new special provider.
func GenerateFromInjectionChain(
name string,
f func(chainBefore Collection, chainAfter Collection) (selfReplacement Provider, err error),
) generatedFromInjectionChain {
return gfic{f}
return gfic{
name: name,
f: f,
}
}

type ignore struct{}
Expand Down

0 comments on commit 5567ba2

Please sign in to comment.