contentful-typescript-codegen icon indicating copy to clipboard operation
contentful-typescript-codegen copied to clipboard

Feature Request: Export union of all entries

Open penx opened this issue 4 years ago • 1 comments

Would it be possible to export a union of all generated Entries/Content Types?

Use cases:

  • When I call ContentfulClientApi.getEntries<T> I know I should be passing one of these types in as the generic, so it would be useful for me to apply this guard before the getEntries call to ensure a valid generic type has been passed.
  • If I have a renderer function intended to handle all entry types, I could also utilise this generated union to ensure I have handled all possible entry types, potentially using union type subtraction for cases I know I'm not handling.
  • Once the property type guard is available, I can use entry.sys.contentType.sys.id to infer the type of entry.sys

penx avatar Dec 09 '21 21:12 penx

Similar / related to this request it would also be cool to get a type that maps CONTENT_TYPE names to their interface types.

For example:

export type ContentTypeMap = {
    aContentTypeKey: IAContentType;
   // ...
}

patrick-mcdougle avatar Apr 14 '22 14:04 patrick-mcdougle