github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/e2e/struct_selector_with_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:u.pet.name -> println:data
    16      println:sig -> :stop
    17  }
    18  
    19  const user User = {
    20      name: 'John',
    21      pet: { name: 'Charley' }
    22  }
    23  
    24  component UserSender(sig) (u User) {
    25      :sig -> ($user -> :u)
    26  }