Document configuration comparison behavior
This commit is contained in:
@@ -43,9 +43,10 @@ type preparedSuite[I, S any] struct {
|
||||
// Command eagerly captures a configuration suite as a root-only config family.
|
||||
// It copies suite slices, retains callback references, and returns a reusable
|
||||
// declaration; installation does not invoke factories or providers. During an
|
||||
// inspection, it initializes input separately for each selected scope and
|
||||
// validates those inputs before acquisition. Suite documents factory timing,
|
||||
// zero values, shared state, and caller ownership of returned objects.
|
||||
// inspection, it initializes input separately for each selected scope. A
|
||||
// comparison initializes and checks both sides before creating shared state
|
||||
// and calling the pair provider. Suite documents factory timing, zero values,
|
||||
// shared state, and caller ownership of returned objects.
|
||||
func Command[I, S any](suite Suite[I, S]) commandkit.Command {
|
||||
prepared := captureSuite(suite)
|
||||
if len(prepared.scopes) == 0 {
|
||||
@@ -67,7 +68,8 @@ func Command[I, S any](suite Suite[I, S]) commandkit.Command {
|
||||
|
||||
// AppCommand builds the state-free, input-free convenience suite for application
|
||||
// configuration. The application consumer supplies only its ConfigKit loader,
|
||||
// which runs only for a selected operation after input preflight.
|
||||
// which runs for ordinary operations and separately for each reached comparison
|
||||
// side after input preflight.
|
||||
func AppCommand[T any](load func(context.Context, Selection) (*configkit.Result[T], error)) commandkit.Command {
|
||||
var adapterLoad func(context.Context, Selection, struct{}, struct{}) (*configkit.Result[T], error)
|
||||
if load != nil {
|
||||
|
||||
Reference in New Issue
Block a user