domain/architecture/system/ops.bend

near-v-framework@0.7.0.0 · 17 lines · 0 definitions

1import Base
2import near-v-framework@0.7.0.0/domain/architecture/system/type.bend as S
3import near-v-framework@0.7.0.0/domain/architecture/system/release/type.bend as Rl
4import near-v-framework@0.7.0.0/domain/architecture/system/release/ops.bend as RlO
5import near-v-framework@0.7.0.0/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 or plugin: what is not published cannot
13# be used.
14def components_published(+s: S.System) -> Bool:
15  match s:
16    case S.System{_, _, _, cs, _, +r}:
17      O.all_listed(O.all_component_keys(cs), List.append(&2, String, RlO.shipped_components(RlO.packages(r)), RlO.plugin_components(RlO.plugins(r))))