def set_level.go
import bolt@1.26.0.0/src/config.bend as Configimport Base
262# the level a name is set to, when it is; hit: the setting before sets
263# named it, so the search stops there
264def set_level.go(sets: List<&2, LevelSet>, +name: String, hit: Maybe<&2, Level>) -> Maybe<&2, Level>:
265 match sets:
266 case Nil{}:
267 hit
268 case Con{LevelSet{+n, l}, rest}:
269 match hit:
270 case Some{x}:
271 Some{x}
272 case None{}:
273 set_level.go(rest, name, Bool.pick(Maybe<&2, Level>, String.eq(n, name), Some{l}, None{}))