github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/testdata/fulleval/052_detectIncompleteJSON.txtar (about) 1 # DO NOT EDIT; generated by go run testdata/gen.go 2 # 3 #name: detectIncompleteJSON 4 #evalFull 5 -- in.cue -- 6 package foobar 7 8 import "encoding/json" 9 10 #Spec: { 11 _vars: {something: string} 12 data: { 13 #foo: { 14 use: _vars.something 15 } 16 baz: json.Marshal(_vars.something) 17 foobar: json.Marshal(#foo) 18 } 19 } 20 Val: #Spec & { 21 _vars: something: "var-string" 22 } 23 -- out/def -- 24 package foobar 25 26 import "encoding/json" 27 28 #Spec: { 29 _vars: { 30 something: string 31 } 32 data: { 33 #foo: { 34 use: _vars.something 35 } 36 baz: json.Marshal(_vars.something) 37 foobar: json.Marshal(#foo) 38 } 39 } 40 Val: #Spec & { 41 _vars: { 42 something: "var-string" 43 } 44 } 45 -- out/export -- 46 Val: { 47 data: { 48 baz: "\"var-string\"" 49 foobar: "{\"use\":\"var-string\"}" 50 } 51 } 52 -- out/yaml -- 53 Val: 54 data: 55 baz: '"var-string"' 56 foobar: '{"use":"var-string"}' 57 -- out/json -- 58 {"Val":{"data":{"baz":"\"var-string\"","foobar":"{\"use\":\"var-string\"}"}}} 59 -- out/legacy-debug -- 60 <0>{#Spec: <1>C{_vars: <2>C{something: string}, data: <3>C{#foo: <4>C{use: string}, baz: <5>.Marshal (<6>._vars.something), foobar: <5>.Marshal (<7>.#foo)}}, Val: <8>C{_vars: <9>C{something: "var-string"}, data: <10>C{#foo: <11>C{use: "var-string"}, baz: "\"var-string\"", foobar: "{\"use\":\"var-string\"}"}}} 61 -- out/eval -- 62 (struct){ 63 #Spec: (#struct){ 64 _vars(:foobar): (#struct){ 65 something: (string){ string } 66 } 67 data: (#struct){ 68 #foo: (#struct){ 69 use: (string){ string } 70 } 71 baz: (_|_){ 72 // [incomplete] #Spec.data.baz: non-concrete argument 0: 73 // ./in.cue:11:11 74 } 75 foobar: (_|_){ 76 // [incomplete] cannot convert incomplete value "string" to JSON: 77 // ./in.cue:6:21 78 } 79 } 80 } 81 Val: (#struct){ 82 _vars(:foobar): (#struct){ 83 something: (string){ "var-string" } 84 } 85 data: (#struct){ 86 #foo: (#struct){ 87 use: (string){ "var-string" } 88 } 89 baz: (string){ "\"var-string\"" } 90 foobar: (string){ "{\"use\":\"var-string\"}" } 91 } 92 } 93 } 94 -- out/compile -- 95 --- in.cue 96 { 97 #Spec: { 98 _vars: { 99 something: string 100 } 101 data: { 102 #foo: { 103 use: 〈2;_vars〉.something 104 } 105 baz: 〈import;"encoding/json"〉.Marshal(〈1;_vars〉.something) 106 foobar: 〈import;"encoding/json"〉.Marshal(〈0;#foo〉) 107 } 108 } 109 Val: (〈0;#Spec〉 & { 110 _vars: { 111 something: "var-string" 112 } 113 }) 114 }