github.com/ronaksoft/rony@v0.16.26-0.20230807065236-1743dbfe6959/di/di.go (about) 1 package di 2 3 import ( 4 "go.uber.org/dig" 5 ) 6 7 var ( 8 di = dig.New() 9 ) 10 11 func New() *Container { 12 return dig.New() 13 } 14 15 func Provide(constructor interface{}, opt ...ProvideOption) error { 16 return di.Provide(constructor, opt...) 17 } 18 19 func MustProvide(constructor interface{}, opt ...ProvideOption) { 20 if err := di.Provide(constructor, opt...); err != nil { 21 panic(err) 22 } 23 } 24 25 func Invoke(function interface{}) error { 26 return di.Invoke(function) 27 } 28 29 func MustInvoke(function interface{}) { 30 if err := di.Invoke(function); err != nil { 31 panic(err) 32 } 33 }