container

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Visiting string = "visiting"
	Done     string = "done"
)

Variables

View Source
var (
	TypeNotRegisteredError      = errors.New("TypeNotRegistered")
	TypeAutoWireNotSupportError = errors.New("TypeAutoWireNotSupportError")
	CircularReferenceError      = errors.New("CircularReferenceDetected")
)
View Source
var Default = newThreadSafeContainer()

Functions

func MustProvide

func MustProvide(t interface{}) interface{}

Provide return object with type t, panic if not registered, t should be Ptr Type Or reflect.Type

func Provide

func Provide(t interface{}) (interface{}, error)

Provide return object with type t if registered, t should be Ptr Type Or reflect.Type

func RegisterObjectSingleton

func RegisterObjectSingleton(t interface{})

RegisterObjectSingleton register object t as singleton, t should be Ptr Type Or Interface

func RegisterType

func RegisterType(t interface{}, f func() (interface{}, error))

RegisterType register t with constructor f, t should be Ptr Type Or reflect.Type, f should return Ptr or Interface

func RegisterTypeSingleton

func RegisterTypeSingleton(t interface{}, f func() (interface{}, error))

RegisterTypeSingleton register t as singleton with constructor f, t should be Ptr Type Or reflect.Type

Types

type NewFunction

type NewFunction struct {
	F         func() (interface{}, error)
	Singleton bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL