Skip to content

Commit ad8fe14

Browse files
committed
name the sort func
1 parent 457cbbe commit ad8fe14

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

option.go

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -333,31 +333,32 @@ func (optSet *OptionSet) SetDefaults() error {
333333
groupByValue[opt.Value] = append(groupByValue[opt.Value], opt)
334334
}
335335

336-
for _, opts := range groupByValue {
337-
// Sort the options by priority and whether or not a default is
338-
// set. This won't affect the value but represents correctness
339-
// from whence the value originated.
340-
slices.SortFunc(opts, func(a, b *Option) int {
341-
if a.ValueSource != b.ValueSource {
342-
for _, vs := range valueSourcePriority {
343-
if a.ValueSource == vs {
344-
return -1
345-
}
346-
if b.ValueSource == vs {
347-
return 1
348-
}
336+
sortOptionByValueSourcePriorityOrDefault := func(a, b *Option) int {
337+
if a.ValueSource != b.ValueSource {
338+
for _, vs := range valueSourcePriority {
339+
if a.ValueSource == vs {
340+
return -1
349341
}
350-
}
351-
if a.Default != b.Default {
352-
if a.Default == "" {
342+
if b.ValueSource == vs {
353343
return 1
354344
}
355-
if b.Default == "" {
356-
return -1
357-
}
358345
}
359-
return 0
360-
})
346+
}
347+
if a.Default != b.Default {
348+
if a.Default == "" {
349+
return 1
350+
}
351+
if b.Default == "" {
352+
return -1
353+
}
354+
}
355+
return 0
356+
}
357+
for _, opts := range groupByValue {
358+
// Sort the options by priority and whether or not a default is
359+
// set. This won't affect the value but represents correctness
360+
// from whence the value originated.
361+
slices.SortFunc(opts, sortOptionByValueSourcePriorityOrDefault)
361362

362363
// If the first option has a value source, then we don't need to
363364
// set the default, but mark the source for all options.

0 commit comments

Comments
 (0)