def observe
near-v-framework@0.4.0.0 · domain/architecture/system/effects.bend:264
import near-v-framework@0.4.0.0/domain/architecture/system/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/release/type.bend as Rl
import near-v-framework@0.4.0.0/domain/architecture/system/release/ops.bend as RlO
import near-v-framework@0.4.0.0/domain/architecture/system/plan/type.bend as P
264
265def observe(+root: String, +entry: String, r: Rl.Release) -> IO(P.Observed):
266 match r:
267 case Rl.Release{repo, +ps, +gs}:
268 do IO<P.Observed>:
269 +h : String <- X.home()
270 +fs : List<&2, String> <- files(root)
271 reached : List<&2, String> <- reach(Nat.mul(1n+List.length(&2, String, fs), 1n+List.length(&2, String, fs)), entry <> List.append(&2, String, RlO.entries(ps), RlO.plugin_entries(gs)), [], root)
272 hs : List<&2, P.Hub> <- hub_states(h, root, ps)
273 rm : P.Remote <- remote(root, repo)
274 ts : List<&2, P.Tag> <- tag_states(h, root, gs)
275 return P.Observed{fs, reached, hs, rm, ts}