cuelang.org/go@v0.13.0/cue/testdata/fulleval/004_field_comprehension.txtar (about)

     1  #name: field comprehension
     2  #evalFull
     3  -- in.cue --
     4  a: {
     5  	for k, v in b
     6  	if k < "d"
     7  	if v > b.a {
     8  		"\(k)": v
     9  	}
    10  }
    11  b: {
    12  	a: 1
    13  	b: 2
    14  	c: 3
    15  	d: 4
    16  }
    17  c: {
    18  	for k, v in b
    19  	if k < "d"
    20  	if v > b.a {
    21  		"\(k)": v
    22  	}
    23  }
    24  -- out/def --
    25  a: {
    26  	b: 2
    27  	c: 3
    28  }
    29  b: {
    30  	a: 1
    31  	b: 2
    32  	c: 3
    33  	d: 4
    34  }
    35  c: {
    36  	b: 2
    37  	c: 3
    38  }
    39  -- out/export --
    40  a: {
    41  	b: 2
    42  	c: 3
    43  }
    44  b: {
    45  	a: 1
    46  	b: 2
    47  	c: 3
    48  	d: 4
    49  }
    50  c: {
    51  	b: 2
    52  	c: 3
    53  }
    54  -- out/yaml --
    55  a:
    56    b: 2
    57    c: 3
    58  b:
    59    a: 1
    60    b: 2
    61    c: 3
    62    d: 4
    63  c:
    64    b: 2
    65    c: 3
    66  -- out/json --
    67  {"a":{"b":2,"c":3},"b":{"a":1,"b":2,"c":3,"d":4},"c":{"b":2,"c":3}}
    68  -- out/legacy-debug --
    69  <0>{a: <1>{b: 2, c: 3}, b: <2>{a: 1, b: 2, c: 3, d: 4}, c: <3>{b: 2, c: 3}}
    70  -- out/compile --
    71  --- in.cue
    72  {
    73    a: {
    74      for k, v in 〈1;b〉 if (〈0;k〉 < "d") if (〈0;v〉 > 〈2;b〉.a) {
    75        "\(〈1;k〉)": 〈1;v〉
    76      }
    77    }
    78    b: {
    79      a: 1
    80      b: 2
    81      c: 3
    82      d: 4
    83    }
    84    c: {
    85      for k, v in 〈1;b〉 if (〈0;k〉 < "d") if (〈0;v〉 > 〈2;b〉.a) {
    86        "\(〈1;k〉)": 〈1;v〉
    87      }
    88    }
    89  }
    90  -- out/eval/stats --
    91  Leaks:  0
    92  Freed:  12
    93  Reused: 5
    94  Allocs: 7
    95  Retain: 12
    96  
    97  Unifications: 12
    98  Conjuncts:    17
    99  Disjuncts:    16
   100  -- out/eval --
   101  (struct){
   102    a: (struct){
   103      b: (int){ 2 }
   104      c: (int){ 3 }
   105    }
   106    b: (struct){
   107      a: (int){ 1 }
   108      b: (int){ 2 }
   109      c: (int){ 3 }
   110      d: (int){ 4 }
   111    }
   112    c: (struct){
   113      b: (int){ 2 }
   114      c: (int){ 3 }
   115    }
   116  }