Skip to content

resource.aug diagrams ​

Move ownership

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.

Explanation.

Resource.drop ​

Explanation.

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 ​

Last updated:

The world runs on language