add support for custom scalars -- mainly adding proper import machinery

This commit is contained in:
Ben Kraft
2021-04-08 13:07:31 -07:00
parent e68787ad35
commit b4e8316c6a
31 changed files with 283 additions and 89 deletions
+2 -2
View File
@@ -48,7 +48,7 @@ func Main() {
if err != nil {
return
}
fmt.Println("you are", viewerResp.Viewer.MyName)
fmt.Println("you are", viewerResp.Viewer.MyName, "created on", viewerResp.Viewer.CreatedAt.Format("2006-01-02"))
case 2:
username := os.Args[1]
@@ -56,7 +56,7 @@ func Main() {
if err != nil {
return
}
fmt.Println(username, "is", userResp.User.TheirName)
fmt.Println(username, "is", userResp.User.TheirName, "created on", userResp.User.CreatedAt.Format("2006-01-02"))
default:
err = fmt.Errorf("usage: %v [username]", os.Args[0])
+7 -2
View File
@@ -4,6 +4,7 @@ package example
import (
"context"
"time"
"github.com/Khan/genqlient/graphql"
)
@@ -13,7 +14,8 @@ type getUserResponse struct {
}
type getUserUser struct {
TheirName string `json:"theirName"`
TheirName string `json:"theirName"`
CreatedAt time.Time `json:"createdAt"`
}
type getViewerResponse struct {
@@ -21,7 +23,8 @@ type getViewerResponse struct {
}
type getViewerViewerUser struct {
MyName string
MyName string
CreatedAt time.Time `json:"createdAt"`
}
func getViewer(
@@ -36,6 +39,7 @@ func getViewer(
query getViewer {
viewer {
MyName: name
createdAt
}
}
`,
@@ -63,6 +67,7 @@ func getUser(
query getUser ($Login: String!) {
user(login: $Login) {
theirName: name
createdAt
}
}
`,
+2
View File
@@ -1,6 +1,7 @@
query getViewer {
viewer {
MyName: name
createdAt
}
}
@@ -8,5 +9,6 @@ query getViewer {
query getUser($Login: String!) {
user(login: $Login) {
theirName: name
createdAt
}
}
+5
View File
@@ -4,3 +4,8 @@ schema: schema.graphql
queries:
- genqlient.graphql
generated: generated.go
# We map github's DateTime type to Go's time.Time (which conveniently already
# defines MarshalJSON and UnmarshalJSAON).
scalars:
DateTime: time.Time