Add new package bindings option (#169)

Add new package bindings option

This commit adds list of packages for which genqlient should automatically
generate bindings; it's equivalent to adding all the exported types in the
package to `bindings` explicitly. This can be useful when you're both a client
and a server of the same schema and want to share types. We don't recommend
doing things that way, but the feature isn't too invasive and may be useful for
other purposes.

Co-authored-by: Ben Kraft <[email protected]>
This commit is contained in:
NuVivo314
2022-06-17 11:42:49 -07:00
committed by GitHub
co-authored by Ben Kraft
parent 1f44dc6db3
commit 093054ef32
5 changed files with 127 additions and 2 deletions
+10 -2
View File
@@ -97,7 +97,6 @@ use_struct_references: boolean
# Defaults to false.
use_extensions: boolean
# Customize how optional fields are handled.
optional:
# Customize how models are generated for optional fields. This can currently
@@ -114,7 +113,6 @@ optional:
# map to Go nil- and empty-slice.
output: value
# A map from GraphQL type name to Go fully-qualified type name to override
# the Go type genqlient will use for this GraphQL type.
#
@@ -210,3 +208,13 @@ bindings:
# certain fields but others are optional.
expect_exact_fields: "{ id name }"
# unmarshaler and marshaler are also valid here, see above for details.
# A list of packages for which genqlient should automatically generate
# bindings. This is equivalent to adding a entry
# TypeName:
# type: github.com/you/yourpkg/models.TypeName
# to the bindings map, above, for each exported type in the package. Multiple
# packages may be specified, and later ones take precedence over earlier ones.
# Explicit entries in bindings take precedence over all package bindings.
package_bindings:
- package: github.com/you/yourpkg/models