def set

bend-visgraph@2.0.0.0 · bend_visgraph.bend:125

import bend-visgraph@2.0.0.0/bend_visgraph.bend as BendVisgraph
import Base
import bend-visgraph@2.0.0.0/visgraph.bend as VG

125def set(cfg: Config, flag: Maybe<&2, Flag>, +name: String, +value: String) -> Config:
126  match cfg flag:
127    case Usage{msg} _:
128      Usage{msg}
129    case Config{o, x, g, d, k, l, m} None{}:
130      Usage{"unknown option: " ++ name}
131    case Config{o, x, g, d, k, l, m} Some{Output{}}:
132      Config{value, x, g, d, k, l, m}
133    case Config{o, x, g, d, k, l, m} Some{XFile{}}:
134      Config{o, value, g, d, k, l, m}
135    case Config{o, x, g, d, k, l, m} Some{GraphType{}}:
136      with_graph(lookup(VG.Visibility, value, graphs()), name, value, o, x, d, k, l, m)
137    case Config{o, x, g, d, k, l, m} Some{Directed{}}:
138      with_direction(lookup(VG.Direction, value, directions()), name, value, o, x, g, k, l, m)
139    case Config{o, x, g, d, k, l, m} Some{Weighted{}}:
140      with_weight(lookup(VG.Weight, value, weights()), name, value, o, x, g, d, l, m)
141    case Config{o, x, g, d, k, l, m} Some{Limit{}}:
142      with_limit(U32.read(value), name, value, o, x, g, d, k, m)
143    case Config{o, x, g, d, k, l, m} Some{OutputMode{}}:
144      with_mode(lookup(Mode, value, modes()), name, value, o, x, g, d, k, l)

Uses (20)

Used by (1)