resource.aug diagrams
Project overview · Compiled explanation
Class interactions
100%
Mermaid source
flowchart TD
n0["Console"]
n1["IResource"]
n2["Resource"]
n3["consume"]
n4["make"]
n2 -->|"implements"| n1
n3 -->|"calls write; depends on"| n0
n4 -->|"calls"| n2
Sequences
Call arrows identify checked targets; loop and branch frames determine when they run. Open that target’s module to follow its implementation. Branches describe alternatives; loops describe repeated work. Native calls and interface dispatch stop at their declared contracts. Exit notes end that path; enclosing recovery and cleanup remain visible.
Resource constructor
It implements IResource.
Resource.drop
make
It returns ownership of Resource.
100%
Mermaid source
sequenceDiagram
participant p0 as make
participant p1 as Resource
p0->>p1: Resource()
p1-->>p0: value: Resource
Note over p0: Own value; release on scope exits
Note over p0: Return value; required cleanup runs before exit
consume
It takes value as Resource with ownership transferred. It gets console (Console) from dependency injection.
It can call Console.write.
100%
Mermaid source
sequenceDiagram
participant p0 as consume
participant p1 as console: Console
p0->>p1: write(value=”consumed”) · interface dispatch
Called contracts
- Console — august/io/contracts.aug
- Console.write — august/io/contracts.aug
- IResource — resource.aug
- Resource — resource.aug