blob: 9c4d675f8146672b4eae85dfe825d4ae1a87bd0b [file] [log] [blame]
-- in.cue --
package x
#Prestep: {
Args: *null | _
}
#PrestepNewUser: #Prestep & {
Args: #NewUser
}
#NewUser: {
Repos: [...#Repo]
}
#Repo: {
Var: string
Pattern: *"*" | string
}
x: [...#Repo]
x: [{
Var: "REPO1"
}]
y: #Repo & {
Var: "REPO1"
}
z: #PrestepNewUser & {
Args: {
Repos: [ {
Var: "REPO1"
}]
}
}
-- out/eval --
(struct){
#Prestep: (#struct){
Args: (_){ |(*(null){ null }, (_){ _ }) }
}
#PrestepNewUser: (#struct){
Args: (#struct){
Repos: (list){
}
}
}
#NewUser: (#struct){
Repos: (list){
}
}
#Repo: (#struct){
Var: (string){ string }
Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
}
x: (#list){
0: (#struct){
Var: (string){ "REPO1" }
Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
}
}
y: (#struct){
Var: (string){ "REPO1" }
Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
}
z: (#struct){
Args: (#struct){
Repos: (#list){
0: (#struct){
Var: (string){ "REPO1" }
Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
}
}
}
}
}
-- out/compile --
--- in.cue
{
#Prestep: {
Args: (*null|_)
}
#PrestepNewUser: (〈0;#Prestep〉 & {
Args: 1;#NewUser
})
#NewUser: {
Repos: [
...〈1;#Repo〉,
]
}
#Repo: {
Var: string
Pattern: (*"*"|string)
}
x: [
...〈0;#Repo〉,
]
x: [
{
Var: "REPO1"
},
]
y: (〈0;#Repo & {
Var: "REPO1"
})
z: (〈0;#PrestepNewUser & {
Args: {
Repos: [
{
Var: "REPO1"
},
]
}
})
}