github.com/codykaup/genqlient@v0.6.2/generate/testdata/snapshots/TestGenerate-CustomMarshalSlice.graphql-CustomMarshalSlice.graphql.go (about) 1 // Code generated by github.com/codykaup/genqlient, DO NOT EDIT. 2 3 package test 4 5 import ( 6 "encoding/json" 7 "fmt" 8 "time" 9 10 "github.com/codykaup/genqlient/graphql" 11 "github.com/codykaup/genqlient/internal/testutil" 12 ) 13 14 // CustomMarshalSliceResponse is returned by CustomMarshalSlice on success. 15 type CustomMarshalSliceResponse struct { 16 AcceptsListOfListOfListsOfDates bool `json:"acceptsListOfListOfListsOfDates"` 17 WithPointer bool `json:"withPointer"` 18 } 19 20 // GetAcceptsListOfListOfListsOfDates returns CustomMarshalSliceResponse.AcceptsListOfListOfListsOfDates, and is useful for accessing the field via an interface. 21 func (v *CustomMarshalSliceResponse) GetAcceptsListOfListOfListsOfDates() bool { 22 return v.AcceptsListOfListOfListsOfDates 23 } 24 25 // GetWithPointer returns CustomMarshalSliceResponse.WithPointer, and is useful for accessing the field via an interface. 26 func (v *CustomMarshalSliceResponse) GetWithPointer() bool { return v.WithPointer } 27 28 // __CustomMarshalSliceInput is used internally by genqlient 29 type __CustomMarshalSliceInput struct { 30 Datesss [][][]time.Time `json:"-"` 31 Datesssp [][][]*time.Time `json:"-"` 32 } 33 34 // GetDatesss returns __CustomMarshalSliceInput.Datesss, and is useful for accessing the field via an interface. 35 func (v *__CustomMarshalSliceInput) GetDatesss() [][][]time.Time { return v.Datesss } 36 37 // GetDatesssp returns __CustomMarshalSliceInput.Datesssp, and is useful for accessing the field via an interface. 38 func (v *__CustomMarshalSliceInput) GetDatesssp() [][][]*time.Time { return v.Datesssp } 39 40 func (v *__CustomMarshalSliceInput) UnmarshalJSON(b []byte) error { 41 42 if string(b) == "null" { 43 return nil 44 } 45 46 var firstPass struct { 47 *__CustomMarshalSliceInput 48 Datesss [][][]json.RawMessage `json:"datesss"` 49 Datesssp [][][]json.RawMessage `json:"datesssp"` 50 graphql.NoUnmarshalJSON 51 } 52 firstPass.__CustomMarshalSliceInput = v 53 54 err := json.Unmarshal(b, &firstPass) 55 if err != nil { 56 return err 57 } 58 59 { 60 dst := &v.Datesss 61 src := firstPass.Datesss 62 *dst = make( 63 [][][]time.Time, 64 len(src)) 65 for i, src := range src { 66 dst := &(*dst)[i] 67 *dst = make( 68 [][]time.Time, 69 len(src)) 70 for i, src := range src { 71 dst := &(*dst)[i] 72 *dst = make( 73 []time.Time, 74 len(src)) 75 for i, src := range src { 76 dst := &(*dst)[i] 77 if len(src) != 0 && string(src) != "null" { 78 err = testutil.UnmarshalDate( 79 src, dst) 80 if err != nil { 81 return fmt.Errorf( 82 "unable to unmarshal __CustomMarshalSliceInput.Datesss: %w", err) 83 } 84 } 85 } 86 } 87 } 88 } 89 90 { 91 dst := &v.Datesssp 92 src := firstPass.Datesssp 93 *dst = make( 94 [][][]*time.Time, 95 len(src)) 96 for i, src := range src { 97 dst := &(*dst)[i] 98 *dst = make( 99 [][]*time.Time, 100 len(src)) 101 for i, src := range src { 102 dst := &(*dst)[i] 103 *dst = make( 104 []*time.Time, 105 len(src)) 106 for i, src := range src { 107 dst := &(*dst)[i] 108 if len(src) != 0 && string(src) != "null" { 109 *dst = new(time.Time) 110 err = testutil.UnmarshalDate( 111 src, *dst) 112 if err != nil { 113 return fmt.Errorf( 114 "unable to unmarshal __CustomMarshalSliceInput.Datesssp: %w", err) 115 } 116 } 117 } 118 } 119 } 120 } 121 return nil 122 } 123 124 type __premarshal__CustomMarshalSliceInput struct { 125 Datesss [][][]json.RawMessage `json:"datesss"` 126 127 Datesssp [][][]json.RawMessage `json:"datesssp"` 128 } 129 130 func (v *__CustomMarshalSliceInput) MarshalJSON() ([]byte, error) { 131 premarshaled, err := v.__premarshalJSON() 132 if err != nil { 133 return nil, err 134 } 135 return json.Marshal(premarshaled) 136 } 137 138 func (v *__CustomMarshalSliceInput) __premarshalJSON() (*__premarshal__CustomMarshalSliceInput, error) { 139 var retval __premarshal__CustomMarshalSliceInput 140 141 { 142 143 dst := &retval.Datesss 144 src := v.Datesss 145 *dst = make( 146 [][][]json.RawMessage, 147 len(src)) 148 for i, src := range src { 149 dst := &(*dst)[i] 150 *dst = make( 151 [][]json.RawMessage, 152 len(src)) 153 for i, src := range src { 154 dst := &(*dst)[i] 155 *dst = make( 156 []json.RawMessage, 157 len(src)) 158 for i, src := range src { 159 dst := &(*dst)[i] 160 var err error 161 *dst, err = testutil.MarshalDate( 162 &src) 163 if err != nil { 164 return nil, fmt.Errorf( 165 "unable to marshal __CustomMarshalSliceInput.Datesss: %w", err) 166 } 167 } 168 } 169 } 170 } 171 { 172 173 dst := &retval.Datesssp 174 src := v.Datesssp 175 *dst = make( 176 [][][]json.RawMessage, 177 len(src)) 178 for i, src := range src { 179 dst := &(*dst)[i] 180 *dst = make( 181 [][]json.RawMessage, 182 len(src)) 183 for i, src := range src { 184 dst := &(*dst)[i] 185 *dst = make( 186 []json.RawMessage, 187 len(src)) 188 for i, src := range src { 189 dst := &(*dst)[i] 190 if src != nil { 191 var err error 192 *dst, err = testutil.MarshalDate( 193 src) 194 if err != nil { 195 return nil, fmt.Errorf( 196 "unable to marshal __CustomMarshalSliceInput.Datesssp: %w", err) 197 } 198 } 199 } 200 } 201 } 202 } 203 return &retval, nil 204 } 205 206 // The query or mutation executed by CustomMarshalSlice. 207 const CustomMarshalSlice_Operation = ` 208 query CustomMarshalSlice ($datesss: [[[Date!]!]!]!, $datesssp: [[[Date!]!]!]!) { 209 acceptsListOfListOfListsOfDates(datesss: $datesss) 210 withPointer: acceptsListOfListOfListsOfDates(datesss: $datesssp) 211 } 212 ` 213 214 func CustomMarshalSlice( 215 client_ graphql.Client, 216 datesss [][][]time.Time, 217 datesssp [][][]*time.Time, 218 ) (*CustomMarshalSliceResponse, error) { 219 req_ := &graphql.Request{ 220 OpName: "CustomMarshalSlice", 221 Query: CustomMarshalSlice_Operation, 222 Variables: &__CustomMarshalSliceInput{ 223 Datesss: datesss, 224 Datesssp: datesssp, 225 }, 226 } 227 var err_ error 228 229 var data_ CustomMarshalSliceResponse 230 resp_ := &graphql.Response{Data: &data_} 231 232 err_ = client_.MakeRequest( 233 nil, 234 req_, 235 resp_, 236 ) 237 238 return &data_, err_ 239 } 240