github.com/solo-io/cue@v0.4.7/cue/testdata/eval/comprehensions.txtar (about)

     1  -- in.cue --
     2  a: { x: 10, y: 100, z: 50 }
     3  b: {
     4  	for k, v in a if v <= 50 {
     5  		"\(k)": v
     6  	}
     7  	x: int
     8  	if x > 3 {
     9  		k: 20
    10  	}
    11  	k: int
    12  	if k > 0 {
    13  		l: 40
    14  	}
    15  }
    16  
    17  c: {
    18    for k, v in a let y = v+10 if y > 50 {
    19      "\(k)": y
    20    }
    21  }
    22  -- out/eval --
    23  (struct){
    24    a: (struct){
    25      x: (int){ 10 }
    26      y: (int){ 100 }
    27      z: (int){ 50 }
    28    }
    29    b: (struct){
    30      x: (int){ 10 }
    31      k: (int){ 20 }
    32      z: (int){ 50 }
    33      l: (int){ 40 }
    34    }
    35    c: (struct){
    36      y: (int){ 110 }
    37      z: (int){ 60 }
    38    }
    39  }
    40  -- out/compile --
    41  --- in.cue
    42  {
    43    a: {
    44      x: 10
    45      y: 100
    46      z: 50
    47    }
    48    b: {
    49      for k, v in 〈1;a〉 if (〈0;v〉 <= 50) {
    50        "\(〈1;k〉)": 〈1;v〉
    51      }
    52      x: int
    53      if (〈0;x〉 > 3) {
    54        k: 20
    55      }
    56      k: int
    57      if (〈0;k〉 > 0) {
    58        l: 40
    59      }
    60    }
    61    c: {
    62      for k, v in 〈1;a〉 let y = (〈0;v〉 + 10) if (〈0;y〉 > 50) {
    63        "\(〈2;k〉)": 〈1;y〉
    64      }
    65    }
    66  }