domain/architecture/view/ops.bend checks
raw source on the hub · import 0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/ops.bend as Ops
10 imports
import Base import ../../../general/rose/type.bend as R import ../../../general/rose/ops.bend as RO import ../../../general/compound/type.bend as C import ../../../general/compound/ops.bend as CO import ../../../general/compound/edge/type.bend as E import ../type.bend as A import ../ops.bend as O import ../system/deployment/type.bend as D import ./type.bend as Vw
Types
type Placed source · line 268 · raw
Data
Where each instance is drawn: its container's key and its D2 path.
Placed@key:String -> @path:String -> Placed
Definitions
def level_name source · line 14 · raw
@l:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Level -> String
---- one element as a D2 box, in C4's colors: people dark blue, what the view is about blue, everything around it gray ----
def kind_line source · line 27 · raw
@+l:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Level -> @+t:String -> String
def is_person source · line 30 · raw
@l:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Level -> Bool
def focus_fill source · line 37 · raw
@l:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Level -> String
def fill source · line 50 · raw
@+l:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Level -> @focus:Bool -> String
def box source · line 57 · raw
@+path:String -> @e:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element -> @+focus:Bool -> String
def element source · line 62 · raw
@+k:String -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> 0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element
def boxes source · line 66 · raw
@ks:List<&2, String> -> @+prefix:String -> @+focus:Bool -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> String
D2 names are the keys, prefixed so none is a D2 keyword (like near).
def keep_unless source · line 74 · raw
@c:Bool -> @x:String -> @rest:List<&2, String> -> List<&2, String>
---- which keys a view shows ----
def without source · line 81 · raw
@+k:String -> @xs:List<&2, String> -> List<&2, String>
def inner source · line 89 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> List<&2, String>
The keys the view is about, drawn inside its boundary.
def visible source · line 103 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> List<&2, String>
The keys the view may show: its own, the rest of the system at the level above, and the environment.
def boundary source · line 116 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> String
def ename source · line 129 · raw
@e:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element -> String
def title source · line 134 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> @v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> String
def header source · line 148 · raw
@+t:String -> String
---- drawing ----
def roots source · line 151 · raw
@c:0x61eb9b926b7147b74881eab60781316b/general/compound/type.Compound<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>>
def keep_edge source · line 156 · raw
@c:Bool -> @e:0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge -> @rest:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
def touching source · line 164 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> @+ins:List<&2, String> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
The edges with an end among the view's own keys.
def keep_new source · line 173 · raw
@c:Bool -> @+k:String -> @rest:List<&2, String> -> List<&2, String>
def around source · line 181 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> @+ins:List<&2, String> -> @+seen:List<&2, String> -> List<&2, String>
The keys around the view's own: whatever its edges reach, once each.
def path source · line 191 · raw
@+k:String -> @+ins:List<&2, String> -> @+b:String -> String
def label source · line 194 · raw
@+d:String -> @+t:String -> String
def edge_lines source · line 197 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> @+ins:List<&2, String> -> @+b:String -> String
def inner_boxes source · line 206 · raw
@+ins:List<&2, String> -> @+b:String -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> String
def draw source · line 210 · raw
@+t:String -> @+ins:List<&2, String> -> @+b:String -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> @+es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> String
def static_view source · line 214 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @+v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> String
Context, containers and components: the view's keys, and the architecture's edges lifted to what shows.
def step_edges source · line 220 · raw
@ss:List<&2, 0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.Step> -> @+n:Nat -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
---- dynamic: numbered steps between elements as they are ----
def inside source · line 230 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> @+sys:List<&2, String> -> @+seen:List<&2, String> -> List<&2, String>
The steps' ends inside the system, once each.
def dynamic_view source · line 240 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @ss:List<&2, 0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.Step> -> String
def node_kind source · line 247 · raw
@+t:String -> String
---- deployment: the machines, nested, with the containers running on them ----
def instance_boxes source · line 250 · raw
@ks:List<&2, String> -> @+p:String -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> String
def node_lines source · line 257 · raw
@ns:List<&2, 0x61eb9b926b7147b74881eab60781316b/domain/architecture/system/deployment/type.Node> -> @+prefix:String -> @+rs:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/rose/type.Rose<0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Element>> -> String
def instance_places source · line 271 · raw
@ks:List<&2, String> -> @+p:String -> List<&2, Placed>
def places source · line 278 · raw
@ns:List<&2, 0x61eb9b926b7147b74881eab60781316b/domain/architecture/system/deployment/type.Node> -> @+prefix:String -> List<&2, Placed>
def to_each source · line 288 · raw
@ps:List<&2, Placed> -> @+from:String -> @+y:String -> @+d:String -> @+t:String -> @+rest:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
def from_here source · line 297 · raw
@c:Bool -> @+all:List<&2, Placed> -> @+pp:String -> @+y:String -> @+d:String -> @+t:String -> @+tail:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
def from_each source · line 304 · raw
@ps:List<&2, Placed> -> @+all:List<&2, Placed> -> @+x:String -> @+y:String -> @+d:String -> @+t:String -> @+rest:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
def instance_edges source · line 314 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> @+ps:List<&2, Placed> -> List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge>
Each container edge, drawn between every pair of its ends' instances.
def path_lines source · line 323 · raw
@es:List<&2, 0x61eb9b926b7147b74881eab60781316b/general/compound/edge/type.Edge> -> String
def deployment_view source · line 332 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> String
def d2 source · line 339 · raw
@+a:0x61eb9b926b7147b74881eab60781316b/domain/architecture/type.Architecture -> @v:0x61eb9b926b7147b74881eab60781316b/domain/architecture/view/type.View -> String
---- a view as D2 ----