Reconcile module docs and release materials
This commit is contained in:
@@ -40,8 +40,11 @@ type preparedSuite[I, S any] struct {
|
||||
}
|
||||
|
||||
// Command eagerly captures a configuration suite as a root-only config family.
|
||||
// Its declaration can be reused in multiple applications; suite factories and
|
||||
// providers run only during the corresponding invocation path.
|
||||
// It copies suite slices, retains callback references, and returns a reusable
|
||||
// declaration; installation does not invoke factories or providers. During an
|
||||
// inspection, it creates separate input for each selected scope, validates
|
||||
// those inputs before acquisition, and creates shared state once for that
|
||||
// invocation.
|
||||
func Command[I, S any](suite Suite[I, S]) commandkit.Command {
|
||||
prepared := captureSuite(suite)
|
||||
if len(prepared.scopes) == 0 {
|
||||
@@ -61,8 +64,9 @@ func Command[I, S any](suite Suite[I, S]) commandkit.Command {
|
||||
return declaration
|
||||
}
|
||||
|
||||
// AppCommand builds the state-free convenience suite for application
|
||||
// configuration. The application consumer supplies only its ConfigKit loader.
|
||||
// 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.
|
||||
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