1package ctydebug_test 2 3import ( 4 "fmt" 5 6 "github.com/zclconf/go-cty-debug/ctydebug" 7 "github.com/zclconf/go-cty/cty" 8) 9 10func ExampleDiffValues() { 11 a := cty.ObjectVal(map[string]cty.Value{ 12 "foo": cty.StringVal("a"), 13 "bar": cty.StringVal("b"), 14 "baz": cty.MapVal(map[string]cty.Value{ 15 "hello": cty.StringVal("world"), 16 }), 17 }) 18 b := cty.ObjectVal(map[string]cty.Value{ 19 "bar": cty.EmptyObjectVal, 20 "baz": cty.MapVal(map[string]cty.Value{ 21 "hello": cty.UnknownVal(cty.String), 22 "goodbye": cty.StringVal("moon"), 23 }), 24 }) 25 26 fmt.Print(ctydebug.DiffValues(b, a)) 27 28 // Output: 29 // {cty.Value}["bar"] 30 // got: cty.StringVal("b") 31 // want: cty.EmptyObjectVal 32 // 33 // {cty.Value}["baz"]["goodbye"] 34 // got: (no value) 35 // want: cty.StringVal("moon") 36 // 37 // {cty.Value}["baz"]["hello"] 38 // got: cty.StringVal("world") 39 // want: cty.UnknownVal(cty.String) 40 // 41 // {cty.Value}["foo"] 42 // got: cty.StringVal("a") 43 // want: (no value) 44 45} 46