contract

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Container

type Container interface {
	Registrar

	Resolver

	OverrideService

	ScopeManager

	Names() []string

	Close() error
}

type OverrideService

type OverrideService interface {
	OverrideInstance(serviceName string, value any) error

	MustOverrideInstance(serviceName string, value any)

	OverrideProtectedInstance(serviceName string, value any) error

	MustOverrideProtectedInstance(serviceName string, value any)
}

type Provider

type Provider[T any] func(resolver Resolver) (T, error)

type RegisterOption

type RegisterOption func(option *RegisterOptions)

type RegisterOptions

type RegisterOptions struct {
	AlsoRegisterType         bool
	TypeRegistrationIsStrict bool
}

type Registrar

type Registrar interface {
	Register(serviceName string, provider any, options ...RegisterOption) error

	MustRegister(serviceName string, provider any, options ...RegisterOption)
}

type Resolver

type Resolver interface {
	Get(serviceName string) (any, error)

	MustGet(serviceName string) any

	GetByType(targetType reflect.Type) (any, error)

	MustGetByType(targetType reflect.Type) any

	Has(serviceName string) bool

	HasType(targetType reflect.Type) bool
}

type Scope

type Scope interface {
	Resolver

	OverrideService

	Close() error
}

type ScopeManager

type ScopeManager interface {
	NewScope() Scope
}

Jump to

Keyboard shortcuts

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