The intent of this PR is to allow to configure declarations in the configuration file so they are included in the generated types. This only covers the possibility of ADDING declarations, not alter the generated ones.
Possible use cases:
add types that are not inferred from the schema itself
The above allows to directly pass declarations (as strings or with babel's t helpers for typesafety), or a function that returns the very same. This can be used to add more complex logic to generate types derived from the schemas (see exmaples below).
I've started this branch from https://github.com/ricokahler/sanity-codegen/pull/299, so that should be merged first.
The intent of this PR is to allow to configure declarations in the configuration file so they are included in the generated types. This only covers the possibility of ADDING declarations, not alter the generated ones.
Possible use cases:
The
declarations
configuration can be:The above allows to directly pass declarations (as strings or with babel's
t
helpers for typesafety), or a function that returns the very same. This can be used to add more complex logic to generate types derived from the schemas (see exmaples below).Example 1:
Add a static type (this would help us solve the https://github.com/ricokahler/sanity-codegen/issues/298 issue):
Example 2:
Generate a new
Documents
type for each schema, which is a union of all types in that schema:That yields something like:
@ricokahler please let me know your thoughts on this, I'm finding it pretty useful!