diff --git a/src/renderers/render.ts b/src/renderers/render.ts index c1a7bad5..bddb2d2e 100644 --- a/src/renderers/render.ts +++ b/src/renderers/render.ts @@ -9,6 +9,7 @@ import renderAllLocales from "./contentful/renderAllLocales" import renderDefaultLocale from "./contentful/renderDefaultLocale" import renderNamespace from "./contentful/renderNamespace" import renderLocalizedTypes from "./contentful/renderLocalizedTypes" +import renderContentTypeId from "./contentful/renderContentTypeId" interface Options { localization?: boolean @@ -26,6 +27,7 @@ export default async function render( const typingsSource = [ renderAllContentTypes(sortedContentTypes, localization), renderAllContentTypeIds(sortedContentTypes), + renderEntryType(sortedContentTypes), renderAllLocales(sortedLocales), renderDefaultLocale(sortedLocales), renderLocalizedTypes(localization), @@ -50,3 +52,10 @@ function renderAllContentTypeIds(contentTypes: ContentType[]): string { contentTypes.map(contentType => `'${contentType.sys.id}'`), ) } + +function renderEntryType(contentTypes: ContentType[]) { + return renderUnion( + "IEntry", + contentTypes.map(contentType => renderContentTypeId(contentType.sys.id)), + ) +} diff --git a/test/renderers/render.test.ts b/test/renderers/render.test.ts index 2d3aaee3..017a9aeb 100644 --- a/test/renderers/render.test.ts +++ b/test/renderers/render.test.ts @@ -82,6 +82,8 @@ describe("render()", () => { export type CONTENT_TYPE = \\"myContentType\\" + export type IEntry = IMyContentType + export type LOCALE_CODE = \\"en-US\\" | \\"pt-BR\\" export type CONTENTFUL_DEFAULT_LOCALE_CODE = \\"en-US\\" @@ -152,6 +154,8 @@ describe("render()", () => { export type CONTENT_TYPE = \\"myContentType\\" + export type IEntry = IMyContentType + export type LOCALE_CODE = \\"en-US\\" | \\"pt-BR\\" export type CONTENTFUL_DEFAULT_LOCALE_CODE = \\"en-US\\" @@ -215,6 +219,8 @@ describe("render()", () => { export type CONTENT_TYPE = \\"myContentType\\" + export type IEntry = IMyContentType + export type LOCALE_CODE = \\"en-US\\" | \\"pt-BR\\" export type CONTENTFUL_DEFAULT_LOCALE_CODE = \\"en-US\\"