// Code generated by github.com/Khan/genqlient, DO NOT EDIT. package test import ( "encoding/json" "fmt" "time" "github.com/Khan/genqlient/graphql" "github.com/Khan/genqlient/internal/testutil" ) // CustomMarshalSliceResponse is returned by CustomMarshalSlice on success. type CustomMarshalSliceResponse struct { AcceptsListOfListOfListsOfDates bool `json:"acceptsListOfListOfListsOfDates"` WithPointer bool `json:"withPointer"` } // GetAcceptsListOfListOfListsOfDates returns CustomMarshalSliceResponse.AcceptsListOfListOfListsOfDates, and is useful for accessing the field via an interface. func (v *CustomMarshalSliceResponse) GetAcceptsListOfListOfListsOfDates() bool { return v.AcceptsListOfListOfListsOfDates } // GetWithPointer returns CustomMarshalSliceResponse.WithPointer, and is useful for accessing the field via an interface. func (v *CustomMarshalSliceResponse) GetWithPointer() bool { return v.WithPointer } // __CustomMarshalSliceInput is used internally by genqlient type __CustomMarshalSliceInput struct { Datesss [][][]time.Time `json:"-"` Datesssp [][][]*time.Time `json:"-"` } // GetDatesss returns __CustomMarshalSliceInput.Datesss, and is useful for accessing the field via an interface. func (v *__CustomMarshalSliceInput) GetDatesss() [][][]time.Time { return v.Datesss } // GetDatesssp returns __CustomMarshalSliceInput.Datesssp, and is useful for accessing the field via an interface. func (v *__CustomMarshalSliceInput) GetDatesssp() [][][]*time.Time { return v.Datesssp } func (v *__CustomMarshalSliceInput) UnmarshalJSON(b []byte) error { if string(b) == "null" { return nil } var firstPass struct { *__CustomMarshalSliceInput Datesss [][][]json.RawMessage `json:"datesss"` Datesssp [][][]json.RawMessage `json:"datesssp"` graphql.NoUnmarshalJSON } firstPass.__CustomMarshalSliceInput = v err := json.Unmarshal(b, &firstPass) if err != nil { return err } { dst := &v.Datesss src := firstPass.Datesss *dst = make( [][][]time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( [][]time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( []time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] if len(src) != 0 && string(src) != "null" { err = testutil.UnmarshalDate( src, dst) if err != nil { return fmt.Errorf( "unable to unmarshal __CustomMarshalSliceInput.Datesss: %w", err) } } } } } } { dst := &v.Datesssp src := firstPass.Datesssp *dst = make( [][][]*time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( [][]*time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( []*time.Time, len(src)) for i, src := range src { dst := &(*dst)[i] if len(src) != 0 && string(src) != "null" { *dst = new(time.Time) err = testutil.UnmarshalDate( src, *dst) if err != nil { return fmt.Errorf( "unable to unmarshal __CustomMarshalSliceInput.Datesssp: %w", err) } } } } } } return nil } type __premarshal__CustomMarshalSliceInput struct { Datesss [][][]json.RawMessage `json:"datesss"` Datesssp [][][]json.RawMessage `json:"datesssp"` } func (v *__CustomMarshalSliceInput) MarshalJSON() ([]byte, error) { premarshaled, err := v.__premarshalJSON() if err != nil { return nil, err } return json.Marshal(premarshaled) } func (v *__CustomMarshalSliceInput) __premarshalJSON() (*__premarshal__CustomMarshalSliceInput, error) { var retval __premarshal__CustomMarshalSliceInput { dst := &retval.Datesss src := v.Datesss *dst = make( [][][]json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( [][]json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( []json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] var err error *dst, err = testutil.MarshalDate( &src) if err != nil { return nil, fmt.Errorf( "unable to marshal __CustomMarshalSliceInput.Datesss: %w", err) } } } } } { dst := &retval.Datesssp src := v.Datesssp *dst = make( [][][]json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( [][]json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] *dst = make( []json.RawMessage, len(src)) for i, src := range src { dst := &(*dst)[i] if src != nil { var err error *dst, err = testutil.MarshalDate( src) if err != nil { return nil, fmt.Errorf( "unable to marshal __CustomMarshalSliceInput.Datesssp: %w", err) } } } } } } return &retval, nil } // The query or mutation executed by CustomMarshalSlice. const CustomMarshalSlice_Operation = ` query CustomMarshalSlice ($datesss: [[[Date!]!]!]!, $datesssp: [[[Date!]!]!]!) { acceptsListOfListOfListsOfDates(datesss: $datesss) withPointer: acceptsListOfListOfListsOfDates(datesss: $datesssp) } ` func CustomMarshalSlice( client graphql.Client, datesss [][][]time.Time, datesssp [][][]*time.Time, ) (*CustomMarshalSliceResponse, error) { req := &graphql.Request{ OpName: "CustomMarshalSlice", Query: CustomMarshalSlice_Operation, Variables: &__CustomMarshalSliceInput{ Datesss: datesss, Datesssp: datesssp, }, } var err error var data CustomMarshalSliceResponse resp := &graphql.Response{Data: &data} err = client.MakeRequest( nil, req, resp, ) return &data, err }