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# The files, what the packages' entries and the system's own entry reach, the hub, and GitHub.
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}

Uses (22)

Used by (1)