registry

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseAll

func CloseAll[T NamedCloser](ctx context.Context, values map[string]T, kind string) error

CloseAll closes each distinct named closer once.

Types

type Base

type Base[Driver NamedCloser, Entry any] struct {
	// contains filtered or unexported fields
}

Base stores named drivers and entries for package-specific registries.

func NewBase

func NewBase[Driver NamedCloser, Entry any](fallback string) Base[Driver, Entry]

NewBase creates a named registry base.

func (*Base[Driver, Entry]) Close

func (base *Base[Driver, Entry]) Close(ctx context.Context, kind string) error

Close closes each distinct registered driver once.

func (*Base[Driver, Entry]) Driver

func (base *Base[Driver, Entry]) Driver(name string) Driver

Driver returns a registered driver.

func (*Base[Driver, Entry]) Drivers

func (base *Base[Driver, Entry]) Drivers() map[string]Driver

Drivers returns a drivers snapshot.

func (*Base[Driver, Entry]) Entries

func (base *Base[Driver, Entry]) Entries() map[string]Entry

Entries returns an entries snapshot.

func (*Base[Driver, Entry]) Entry

func (base *Base[Driver, Entry]) Entry(name string) (Entry, bool)

Entry returns a named entry, applying fallback when name is empty.

func (*Base[Driver, Entry]) Fallback

func (base *Base[Driver, Entry]) Fallback() string

Fallback returns the default entry name.

func (*Base[Driver, Entry]) RegisterDriver

func (base *Base[Driver, Entry]) RegisterDriver(name string, driver Driver)

RegisterDriver registers or replaces a named driver.

func (*Base[Driver, Entry]) RegisterEntry

func (base *Base[Driver, Entry]) RegisterEntry(name string, entry Entry)

RegisterEntry registers or replaces a named entry.

func (*Base[Driver, Entry]) SetFallback

func (base *Base[Driver, Entry]) SetFallback(name string)

SetFallback sets the default entry name.

type Entries

type Entries[Entry any] struct {
	// contains filtered or unexported fields
}

Entries stores named entries with one fallback name.

func NewEntries

func NewEntries[Entry any](fallback string) Entries[Entry]

NewEntries creates a named entries registry.

func (*Entries[Entry]) All

func (entries *Entries[Entry]) All() map[string]Entry

All returns an entries snapshot.

func (*Entries[Entry]) Entry

func (entries *Entries[Entry]) Entry(name string) (Entry, bool)

Entry returns a named entry, applying fallback when name is empty.

func (*Entries[Entry]) Fallback

func (entries *Entries[Entry]) Fallback() string

Fallback returns the default entry name.

func (*Entries[Entry]) Register

func (entries *Entries[Entry]) Register(name string, entry Entry)

RegisterEntry registers or replaces a named entry.

func (*Entries[Entry]) SetFallback

func (entries *Entries[Entry]) SetFallback(name string)

SetFallback sets the default entry name.

type NamedCloser

type NamedCloser interface {
	Name() string
	Close(context.Context) error
}

NamedCloser is a named component with a context-aware Close hook.

Jump to

Keyboard shortcuts

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