def read_domains
near-v-framework@0.4.0.0 · domain/architecture/system/deployment/nix_darwin/setting/effects.bend:12
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/effects.bend as Effects
import Base
import near-v-framework@0.4.0.0/domain/architecture/system/effs/io.bend as X
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/type.bend as St
import near-v-framework@0.4.0.0/domain/architecture/system/deployment/nix_darwin/setting/ops.bend as StO
12
13def read_domains(ds: List<&2, String>, +xs: List<&2, St.Setting>) -> IO(List<&2, St.Setting>):
14 match ds:
15 case []:
16 IO.pure(List<&2, St.Setting>, [])
17 case +d <> rest:
18 do IO<List<&2, St.Setting>>:
19 xml : String <- X.run("defaults", StO.export_args(d))
20 more : List<&2, St.Setting> <- read_domains(rest, xs)
21 return List.append(&2, St.Setting, StO.read_domain(xs, d, StO.text_lines(xml)), more)