option

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyOptions

func ApplyOptions[O ~[]Option[T], T any](ctx context.Context, obj *T, opts O, defaults map[Key]LazyOptionFunc[T]) error

func ApplyRestoreOptions

func ApplyRestoreOptions[T any](ctx context.Context, obj *T, opts []RestoreOption[T], action func()) error

Types

type Key

type Key string

type LazyOptionFunc

type LazyOptionFunc[T any] func() Option[T]

type Option

type Option[T any] interface {
	Key() Key
	Apply(ctx context.Context, obj *T) error
}

type RestoreOption

type RestoreOption[T any] interface {
	Option[T]

	Save(ctx context.Context, obj *T) error
	Restore(ctx context.Context, obj *T) error
}

Jump to

Keyboard shortcuts

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