cuelang.org/go@v0.13.0/cue/testdata/disjunctions/defaults.txtar (about)

     1  -- in.cue --
     2  passToSingleValue: p1: _ | *((_ | *"x") & "y")
     3  passToSingleValue: p2: _ | *((*"x" | _) & "y")
     4  passToSingleValue: p3: *((_ | *"x") & "y") | _
     5  passToSingleValue: p4: *((*"x" | _) & "y") | _
     6  
     7  issue3779: {
     8  	out: #Foo & {
     9  		fieldFoo: "foo"
    10  	}
    11  	#Foo: #Bar & {
    12  		fieldFoo: string | *"foo-default"
    13  	}
    14  	#Bar: {
    15  		fieldFoo: _
    16  		fieldBar: string | *fieldFoo
    17  	}
    18  }
    19  -- out/compile --
    20  --- in.cue
    21  {
    22    passToSingleValue: {
    23      p1: (_|*((_|*"x") & "y"))
    24    }
    25    passToSingleValue: {
    26      p2: (_|*((*"x"|_) & "y"))
    27    }
    28    passToSingleValue: {
    29      p3: (*((_|*"x") & "y")|_)
    30    }
    31    passToSingleValue: {
    32      p4: (*((*"x"|_) & "y")|_)
    33    }
    34    issue3779: {
    35      out: (〈0;#Foo〉 & {
    36        fieldFoo: "foo"
    37      })
    38      #Foo: (〈0;#Bar〉 & {
    39        fieldFoo: (string|*"foo-default")
    40      })
    41      #Bar: {
    42        fieldFoo: _
    43        fieldBar: (string|*〈0;fieldFoo〉)
    44      }
    45    }
    46  }
    47  -- out/eval --
    48  (struct){
    49    passToSingleValue: (struct){
    50      p1: (_){ |(*(string){ "y" }, (_){ _ }) }
    51      p2: (_){ |(*(string){ "y" }, (_){ _ }) }
    52      p3: (_){ |(*(string){ "y" }, (_){ _ }) }
    53      p4: (_){ |(*(string){ "y" }, (_){ _ }) }
    54    }
    55    issue3779: (struct){
    56      out: (#struct){
    57        fieldFoo: (string){ "foo" }
    58        fieldBar: (string){ |(*(string){ "foo" }, (string){ string }) }
    59      }
    60      #Foo: (#struct){
    61        fieldFoo: (string){ |(*(string){ "foo-default" }, (string){ string }) }
    62        fieldBar: (string){ |(*(string){ "foo-default" }, (string){ string }) }
    63      }
    64      #Bar: (#struct){
    65        fieldFoo: (_){ _ }
    66        fieldBar: (_){ |(*(_){ _ }, (string){ string }) }
    67      }
    68    }
    69  }
    70  -- out/eval/stats --
    71  Leaks:  0
    72  Freed:  46
    73  Reused: 37
    74  Allocs: 9
    75  Retain: 2
    76  
    77  Unifications: 16
    78  Conjuncts:    68
    79  Disjuncts:    48