domain/architecture/system/ops.bend

near-v-framework@0.3.0.2 · 16 lines · 0 definitions

1import Base
2import near-v-framework@0.3.0.2/domain/architecture/system/type.bend as S
3import near-v-framework@0.3.0.2/domain/architecture/system/release/type.bend as Rl
4import near-v-framework@0.3.0.2/domain/architecture/system/release/ops.bend as RlO
5import near-v-framework@0.3.0.2/domain/architecture/ops.bend as O
6
7def release(s: S.System) -> Rl.Release:
8  match s:
9    case S.System{_, _, _, _, _, r}:
10      r
11
12# Everything the system is made of ships in a declared package: what is not published cannot be used.
13def components_published(+s: S.System) -> Bool:
14  match s:
15    case S.System{_, _, _, cs, _, r}:
16      O.all_listed(O.all_component_keys(cs), RlO.shipped_components(RlO.packages(r)))