diff --git a/caller/caller.go b/caller/caller.go index 9e614033..433862c7 100644 --- a/caller/caller.go +++ b/caller/caller.go @@ -34,18 +34,9 @@ var ( // Deprecated: use [caller.CallProviderMethod]. CallProviderMethod = caller.CallProviderMethod - // Deprecated: use [caller.ForceCallProviderMethod]. - ForceCallProviderMethod = caller.ForceCallProviderMethod - // Deprecated: use [caller.CallMethod]. CallMethod = caller.CallMethod - // Deprecated: use [caller.ForceCallMethod]. - ForceCallMethod = caller.ForceCallMethod - // Deprecated: [caller.CallWither]. CallWither = caller.CallWither - - // Deprecated: [caller.ForceCallWither]. - ForceCallWither = caller.ForceCallWither ) diff --git a/container/container.go b/container/container.go index 7c89c6d5..dfc396c6 100644 --- a/container/container.go +++ b/container/container.go @@ -153,7 +153,8 @@ func (c *Container) resolveDep(ctx context.Context, contextualBag keyValue, d De case dependencyParam: return c.getParam(d.paramID) case dependencyProvider: - return caller.CallProvider(d.provider, nil, convertArgs) + r, _, err := caller.CallProvider(d.provider, nil, convertArgs) + return r, err case dependencyContainer: return c, nil case dependencyContext: diff --git a/container/container_services.go b/container/container_services.go index 5051242a..91bf3d7e 100644 --- a/container/container_services.go +++ b/container/container_services.go @@ -197,7 +197,7 @@ func (c *Container) createNewService(ctx context.Context, svc Service, contextua if err != nil { return nil, grouperror.Prefix("constructor args: ", err) } - result, err = caller.CallProvider(svc.constructor, args, convertArgs) + result, _, err = caller.CallProvider(svc.constructor, args, convertArgs) if err != nil { return nil, grouperror.Prefix("constructor: ", err) } @@ -212,7 +212,7 @@ func (c *Container) createNewService(ctx context.Context, svc Service, contextua if err != nil { return nil, grouperror.Prefix("factory args: ", err) } - result, err = caller.ForceCallProviderMethod(obj, svc.factoryMethod, args, convertArgs) + result, _, err = caller.CallProviderMethod(obj, svc.factoryMethod, args, convertArgs) if err != nil { return nil, grouperror.Prefix(fmt.Sprintf("factory @%s.%s: ", svc.factoryServiceID, svc.factoryMethod), err) } @@ -263,7 +263,7 @@ func (c *Container) executeServiceCalls( } if call.wither { - result, err = caller.ForceCallWither(&result, call.method, args, convertArgs) + result, err = caller.CallWither(&result, call.method, args, convertArgs) if err != nil { errs = append(errs, grouperror.Prefix(fmt.Sprintf("%s %+q: ", action, call.method), err)) // wither may return a nil value for error, @@ -271,7 +271,7 @@ func (c *Container) executeServiceCalls( break } } else { - _, err = caller.ForceCallMethod(&result, call.method, args, convertArgs) + _, err = caller.CallMethod(&result, call.method, args, convertArgs) if err != nil { errs = append(errs, grouperror.Prefix(fmt.Sprintf("%s %+q: ", action, call.method), err)) } @@ -304,7 +304,7 @@ func (c *Container) decorateService( return nil, grouperror.Prefix(fmt.Sprintf("resolve decorator args #%d: ", i), err) } args = append([]any{payload}, args...) - result, err = caller.CallProvider(dec.fn, args, convertArgs) + result, _, err = caller.CallProvider(dec.fn, args, convertArgs) if err != nil { return nil, grouperror.Prefix(fmt.Sprintf("decorator #%d: ", i), err) } diff --git a/container/container_services_test.go b/container/container_services_test.go index c598d09f..b51061ff 100644 --- a/container/container_services_test.go +++ b/container/container_services_test.go @@ -114,9 +114,9 @@ func TestContainer_executeServiceCalls(t *testing.T) { expected := []string{ `get("service"): resolve args "SetName": arg #0: provider returned error: could not fetch the name from the config`, - `get("service"): call "SetAge": cannot call method (*interface {})."SetAge": invalid func (*struct {})."SetAge"`, - `get("service"): call "SetColor": cannot call method (*interface {})."SetColor": invalid func (*struct {})."SetColor"`, - `get("service"): wither "WithLogger": cannot call wither (*interface {})."WithLogger": invalid func (*struct {})."WithLogger"`, + `get("service"): call "SetAge": cannot call method (*interface {})."SetAge": (*struct {})."SetAge": invalid method`, + `get("service"): call "SetColor": cannot call method (*interface {})."SetColor": (*struct {})."SetColor": invalid method`, + `get("service"): wither "WithLogger": cannot call wither (*interface {})."WithLogger": cannot call method (*interface {})."WithLogger": (*struct {})."WithLogger": invalid method`, } svc, err := c.Get("service") diff --git a/go.mod b/go.mod index ea588e53..01c4e995 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/gontainer/exporter v1.0.1 github.com/gontainer/graph v1.0.0 github.com/gontainer/grouperror v1.0.1 - github.com/gontainer/reflectpro v0.0.0-20240303103625-cd0a20882e59 + github.com/gontainer/reflectpro v0.0.0-20240305193905-371323a8dfaf ) require ( // tests diff --git a/go.sum b/go.sum index 075acdac..649dcfb6 100644 --- a/go.sum +++ b/go.sum @@ -40,6 +40,8 @@ github.com/gontainer/grouperror v1.0.1 h1:hNWVEIQZrt3e1q2YBprPEGDN2nYlkE2Px5igj/ github.com/gontainer/grouperror v1.0.1/go.mod h1:6/EHrISoPeYWcnzKx0JUxlSI34nMOMaLihNg6VnWDPc= github.com/gontainer/reflectpro v0.0.0-20240303103625-cd0a20882e59 h1:MwvCwO3IfcWfKAUTcXIWz+jpGUQsUrY9sAFo98sfU74= github.com/gontainer/reflectpro v0.0.0-20240303103625-cd0a20882e59/go.mod h1:lJHUIw9ALry6ofwOoQ04OwTchWGoTU0uwN8w2VCKAm4= +github.com/gontainer/reflectpro v0.0.0-20240305193905-371323a8dfaf h1:7gdcN5zBTze4NCO1WjKJQuCPRORp5ict5+jVyEHpeX4= +github.com/gontainer/reflectpro v0.0.0-20240305193905-371323a8dfaf/go.mod h1:eGV+xNkh0jVTH+XHbv85lpQLXOrB67XSf5wiNPB0VkU= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=