github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/e2e/struct_selector_with_more_sugar/main/main.neva (about)

     1  // Here we learn how to read struct fields without compiler directives
     2  // by using another one syntax sugare `.` called "struct selectors".
     3  
     4  type {
     5      User struct {
     6          name string
     7          pet Pet
     8      }
     9      Pet struct { name string }
    10  }
    11  
    12  component Main(start) (stop) {
    13      nodes { UserSender, Println }
    14      :start -> userSender:sig
    15      userSender.pet.name -> println -> :stop
    16  }
    17  
    18  const user User = {
    19      name: 'John',
    20      pet: { name: 'Charley' }
    21  }
    22  
    23  component UserSender(sig) (u User) {
    24      :sig -> ($user -> :u)
    25  }