package di

import "go.uber.org/dig"

var (
	globalDI *dig.Container
)

func init() {
	globalDI = dig.New()
}

func MustProvide(constructor interface{}, options ...dig.ProvideOption) {
	if err := globalDI.Provide(constructor, options...); err != nil {
		panic(err)
	}
}

func DiCall(fn interface{}, options ...dig.InvokeOption) error {
	return globalDI.Invoke(fn, options...)
}
