github.com/solo-io/cue@v0.4.7/encoding/gocode/testdata/pkg2/cue_gen.go (about) 1 // Code generated by gocode.Generate; DO NOT EDIT. 2 3 package pkg2 4 5 import ( 6 "fmt" 7 8 "github.com/solo-io/cue/cue" 9 "github.com/solo-io/cue/encoding/gocode/gocodec" 10 _ "github.com/solo-io/cue/pkg" 11 ) 12 13 var cuegenvalImportMe = cuegenMake("ImportMe", &ImportMe{}) 14 15 // Validate validates x. 16 func (x *ImportMe) Validate() error { 17 return cuegenCodec.Validate(cuegenvalImportMe, x) 18 } 19 20 var cuegenvalPickMe = cuegenMake("PickMe", nil) 21 22 // Validate validates x. 23 func (x PickMe) Validate() error { 24 return cuegenCodec.Validate(cuegenvalPickMe, x) 25 } 26 27 var cuegenCodec, cuegenInstance = func() (*gocodec.Codec, *cue.Instance) { 28 var r *cue.Runtime 29 r = &cue.Runtime{} 30 instances, err := r.Unmarshal(cuegenInstanceData) 31 if err != nil { 32 panic(err) 33 } 34 if len(instances) != 1 { 35 panic("expected encoding of exactly one instance") 36 } 37 return gocodec.New(r, nil), instances[0] 38 }() 39 40 // cuegenMake is called in the init phase to initialize CUE values for 41 // validation functions. 42 func cuegenMake(name string, x interface{}) cue.Value { 43 f, err := cuegenInstance.Value().FieldByName(name, true) 44 if err != nil { 45 panic(fmt.Errorf("could not find type %q in instance", name)) 46 } 47 v := f.Value 48 if x != nil { 49 w, err := cuegenCodec.ExtractType(x) 50 if err != nil { 51 panic(err) 52 } 53 v = v.Unify(w) 54 } 55 return v 56 } 57 58 // Data size: 276 bytes. 59 var cuegenInstanceData = []byte("\x01\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xffD\x8e\xc1J\x031\x10\x86\xe7\u07ee`C\x15|\x00a\xd9S\x05\u066d\x82\bE\x84\xaa\b\x1e\x94\xe2U<\x8ci\x8c\xa1mR\x9a\xecA\u0103Z\xabO\xe3+FR*\x9ef\xf8f\xfe\x9fo+~e\xc8\xe27!\xbe\x13\x1d\u01f7\x16\xd01\xd6\a\xb6R]p\xe0\xc4\xd1B~\xeb\\@F\u0207\x1c\x9e\xd0!l\\\x9a\x89\xf2\x88K\"\u068d\x9f\x19\xb0}w/\x1bU=\x9a\xc9:\xb9$\xc4\x05Q7~\xb4\x80\xcd\u007f\xbe d\xc8ox\xaaRQ\xbe\x82\x82\x88\xe2O\x12\x01\xb0/\x1b5a\xab+7\u05f5v\xb5\xb2\u048d\x8cM\xbbt#U\a\xe5\u00c8\x03\u05f3\xb1>\x04\xb0\x93f\xfd\xa7]\xc9F\x81g,\u01ecU\x91NB\x98\xe9\xcc\xcdCQ\xfa07V\xfbR\x88\xab\x15\xb9V\xfd\xe2E\xb4\a\xfd\xe2\xe4\xa0\xd7\x13\xed\xb3~\xb1~\xa9\u039d\rl\xac\x1f\xd8\xe7n\xc9\x0f\xb2\xdc\x13\xafbh\xe48eN\x8f\x04\xd1o\x00\x00\x00\xff\xff\ue135\t=\x01\x00\x00")