Skip to content

Commit

Permalink
refactor: rename Iface to Interface
Browse files Browse the repository at this point in the history
  • Loading branch information
sysulq committed Feb 16, 2024
1 parent a096105 commit 68a0998
Show file tree
Hide file tree
Showing 14 changed files with 162 additions and 161 deletions.
3 changes: 2 additions & 1 deletion Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ tasks:
- task: test

build:gowork:
sources:
run: once
sources:
- "**/**.go"
generates:
- go.work
Expand Down
2 changes: 1 addition & 1 deletion cmd/kod/internal/generate_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,7 @@ func (g *generator) generateRegisteredComponents(p printFn) {
// To get a reflect.Type for an interface, we have to first get a type
// of its pointer and then resolve the underlying type. See:
// https://pkg.go.dev/reflect#example-TypeOf
p(` Iface: %s((*%s)(nil)).Elem(),`, reflect.qualify("TypeOf"), g.componentRef(comp))
p(` Interface: %s((*%s)(nil)).Elem(),`, reflect.qualify("TypeOf"), g.componentRef(comp))
p(` Impl: %s(%s{}),`, reflect.qualify("TypeOf"), comp.implName())
p(" Refs: `%s`,", strings.Join(refNames, ",\n"))
p(` LocalStubFn: %s,`, localStubFn)
Expand Down
16 changes: 8 additions & 8 deletions examples/helloworld/kod_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/registry/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type LocalStubFnInfo struct {
// Registration is the registration information for a component.
type Registration struct {
Name string // full package-prefixed component name
Iface reflect.Type // interface type for the component
Interface reflect.Type // interface type for the component
Impl reflect.Type // implementation type (struct)
Refs string
LocalStubFn func(context.Context, *LocalStubFnInfo) any
Expand Down
24 changes: 12 additions & 12 deletions kod.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,10 @@ type Kod struct {

hooker *hooks.Hooker

regs []*Registration
registryByName map[string]*Registration
registryByIface map[reflect.Type]*Registration
registryByImpl map[reflect.Type]*Registration
regs []*Registration
registryByName map[string]*Registration
registryByInterface map[reflect.Type]*Registration
registryByImpl map[reflect.Type]*Registration

components map[string]any
opts options
Expand All @@ -282,13 +282,13 @@ func newKod(opts options) (*Kod, error) {
Log: logConfig{Level: "info"},
ShutdownTimeout: 5 * time.Second,
},
hooker: hooks.New(),
regs: registry.All(),
registryByName: make(map[string]*Registration),
registryByIface: make(map[reflect.Type]*Registration),
registryByImpl: make(map[reflect.Type]*Registration),
components: make(map[string]any),
opts: opts,
hooker: hooks.New(),
regs: registry.All(),
registryByName: make(map[string]*Registration),
registryByInterface: make(map[reflect.Type]*Registration),
registryByImpl: make(map[reflect.Type]*Registration),
components: make(map[string]any),
opts: opts,
}

kod.register(opts.registrations)
Expand Down Expand Up @@ -333,7 +333,7 @@ func (k *Kod) register(regs []*Registration) {

for _, v := range k.regs {
k.registryByName[v.Name] = v
k.registryByIface[v.Iface] = v
k.registryByInterface[v.Interface] = v
k.registryByImpl[v.Impl] = v
}
}
Expand Down
4 changes: 2 additions & 2 deletions registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (k *Kod) getImpl(ctx context.Context, t reflect.Type) (any, error) {
// getIntf returns the component for the given interface type.
func (k *Kod) getIntf(ctx context.Context, t reflect.Type, caller string) (any, error) {

reg, ok := k.registryByIface[t]
reg, ok := k.registryByInterface[t]
if !ok {
return nil, fmt.Errorf("kod: no component registered for interface %v", t)
}
Expand Down Expand Up @@ -67,7 +67,7 @@ func (k *Kod) get(ctx context.Context, reg *Registration) (any, error) {
return c, nil
}

if fake, ok := k.opts.fakes[reg.Iface]; ok {
if fake, ok := k.opts.fakes[reg.Interface]; ok {
// We have a fake registered for this component.
return fake, nil
}
Expand Down
80 changes: 40 additions & 40 deletions tests/case1/kod_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 12 additions & 12 deletions tests/case2/case_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ func TestRun(t *testing.T) {
return t.Run(ctx)
}, kod.WithRegistrations(
&kod.Registration{
Name: "github.com/go-kod/kod/Main",
Iface: reflect.TypeOf((*kod.Main)(nil)).Elem(),
Impl: reflect.TypeOf(App{}),
Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`,
Name: "github.com/go-kod/kod/Main",
Interface: reflect.TypeOf((*kod.Main)(nil)).Elem(),
Impl: reflect.TypeOf(App{}),
Refs: `⟦73dc6a0b:KoDeDgE:github.com/go-kod/kod/Main→github.com/go-kod/kod/tests/case2/Test1Component⟧`,
LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any {
var interceptors []kod.Interceptor
if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok {
Expand All @@ -43,10 +43,10 @@ func TestRun(t *testing.T) {
},
},
&kod.Registration{
Name: "github.com/go-kod/kod/tests/case2/Test1Component",
Iface: reflect.TypeOf((*Test1Component)(nil)).Elem(),
Impl: reflect.TypeOf(test1Component{}),
Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`,
Name: "github.com/go-kod/kod/tests/case2/Test1Component",
Interface: reflect.TypeOf((*Test1Component)(nil)).Elem(),
Impl: reflect.TypeOf(test1Component{}),
Refs: `⟦3dc9f060:KoDeDgE:github.com/go-kod/kod/tests/case2/Test1Component→github.com/go-kod/kod/tests/case2/Test2Component⟧`,
LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any {
var interceptors []kod.Interceptor
if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok {
Expand All @@ -61,10 +61,10 @@ func TestRun(t *testing.T) {
},
},
&kod.Registration{
Name: "github.com/go-kod/kod/tests/case2/Test2Component",
Iface: reflect.TypeOf((*Test2Component)(nil)).Elem(),
Impl: reflect.TypeOf(test2Component{}),
Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`,
Name: "github.com/go-kod/kod/tests/case2/Test2Component",
Interface: reflect.TypeOf((*Test2Component)(nil)).Elem(),
Impl: reflect.TypeOf(test2Component{}),
Refs: `⟦1767cee9:KoDeDgE:github.com/go-kod/kod/tests/case2/Test2Component→github.com/go-kod/kod/tests/case2/Test1Component⟧`,
LocalStubFn: func(ctx context.Context, info *kod.LocalStubFnInfo) any {
var interceptors []kod.Interceptor
if h, ok := info.Impl.(interface{ Interceptors() []kod.Interceptor }); ok {
Expand Down
24 changes: 12 additions & 12 deletions tests/case2/kod_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 68a0998

Please sign in to comment.