def hub_state
near-v-framework@0.4.0.0 · domain/architecture/system/effects.bend:100
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/plan/type.bend as P
100def hub_state(+home: String, +root: String, p: Rl.Package) -> IO(P.Hub):
101 match p:
102 case Rl.Package{+n, +v, +e, _}:
103 do IO<P.Hub>:
104 cached : String <- X.read(home ++ "/.bend/lib/names/" ++ n ++ "@" ++ v)
105 +hash : String <- fetched(home, n, v, e, cached)
106 +files : List<&2, String> <- reach(1000n, [e], [], root)
107 f : String <- differing(files, root, home ++ "/.bend/lib/" ++ String.trim(hash))
108 return hub_of(String.trim(hash), f)