From d738d920c804ef780d32134fe143b732c96f2e84 Mon Sep 17 00:00:00 2001 From: Jim Heising Date: Wed, 29 Mar 2023 13:43:17 -0700 Subject: [PATCH 1/3] Properly accounts for references to entries that have been deleted --- src/renderers/contentful-fields-only/fields/renderArray.ts | 2 +- src/renderers/contentful/fields/renderArray.ts | 2 +- .../renderers/contentful-fields-only/fields/renderArray.test.ts | 2 +- test/renderers/contentful/fields/renderArray.test.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderers/contentful-fields-only/fields/renderArray.ts b/src/renderers/contentful-fields-only/fields/renderArray.ts index 03d57ba6..9a6267b4 100644 --- a/src/renderers/contentful-fields-only/fields/renderArray.ts +++ b/src/renderers/contentful-fields-only/fields/renderArray.ts @@ -20,7 +20,7 @@ export default function renderArray(field: Field): string { } case "Link": { - return renderArrayOf(renderLink(fieldWithValidations)) + return renderArrayOf(`${renderLink(fieldWithValidations)} | undefined`) } } diff --git a/src/renderers/contentful/fields/renderArray.ts b/src/renderers/contentful/fields/renderArray.ts index 0cc2fc12..ef0e0b16 100644 --- a/src/renderers/contentful/fields/renderArray.ts +++ b/src/renderers/contentful/fields/renderArray.ts @@ -20,7 +20,7 @@ export default function renderArray(field: Field): string { } case "Link": { - return renderArrayOf(renderLink(fieldWithValidations)) + return renderArrayOf(`${renderLink(fieldWithValidations)} | undefined`) } } diff --git a/test/renderers/contentful-fields-only/fields/renderArray.test.ts b/test/renderers/contentful-fields-only/fields/renderArray.test.ts index 1f849b06..14ec4f57 100644 --- a/test/renderers/contentful-fields-only/fields/renderArray.test.ts +++ b/test/renderers/contentful-fields-only/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2)[]"`, + `"(IContentType1 | IContentType2 | undefined)[]"`, ) }) }) diff --git a/test/renderers/contentful/fields/renderArray.test.ts b/test/renderers/contentful/fields/renderArray.test.ts index 80039aae..490fed3b 100644 --- a/test/renderers/contentful/fields/renderArray.test.ts +++ b/test/renderers/contentful/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2)[]"`, + `"(IContentType1 | IContentType2 | undefined)[]"`, ) }) }) From 58d57a72cb797bf8e477c719ab200253936fd077 Mon Sep 17 00:00:00 2001 From: Jim Heising Date: Wed, 29 Mar 2023 14:11:41 -0700 Subject: [PATCH 2/3] Revert "Properly accounts for references to entries that have been deleted" This reverts commit d738d920c804ef780d32134fe143b732c96f2e84. --- src/renderers/contentful-fields-only/fields/renderArray.ts | 2 +- src/renderers/contentful/fields/renderArray.ts | 2 +- .../renderers/contentful-fields-only/fields/renderArray.test.ts | 2 +- test/renderers/contentful/fields/renderArray.test.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderers/contentful-fields-only/fields/renderArray.ts b/src/renderers/contentful-fields-only/fields/renderArray.ts index 9a6267b4..03d57ba6 100644 --- a/src/renderers/contentful-fields-only/fields/renderArray.ts +++ b/src/renderers/contentful-fields-only/fields/renderArray.ts @@ -20,7 +20,7 @@ export default function renderArray(field: Field): string { } case "Link": { - return renderArrayOf(`${renderLink(fieldWithValidations)} | undefined`) + return renderArrayOf(renderLink(fieldWithValidations)) } } diff --git a/src/renderers/contentful/fields/renderArray.ts b/src/renderers/contentful/fields/renderArray.ts index ef0e0b16..0cc2fc12 100644 --- a/src/renderers/contentful/fields/renderArray.ts +++ b/src/renderers/contentful/fields/renderArray.ts @@ -20,7 +20,7 @@ export default function renderArray(field: Field): string { } case "Link": { - return renderArrayOf(`${renderLink(fieldWithValidations)} | undefined`) + return renderArrayOf(renderLink(fieldWithValidations)) } } diff --git a/test/renderers/contentful-fields-only/fields/renderArray.test.ts b/test/renderers/contentful-fields-only/fields/renderArray.test.ts index 14ec4f57..1f849b06 100644 --- a/test/renderers/contentful-fields-only/fields/renderArray.test.ts +++ b/test/renderers/contentful-fields-only/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2 | undefined)[]"`, + `"(IContentType1 | IContentType2)[]"`, ) }) }) diff --git a/test/renderers/contentful/fields/renderArray.test.ts b/test/renderers/contentful/fields/renderArray.test.ts index 490fed3b..80039aae 100644 --- a/test/renderers/contentful/fields/renderArray.test.ts +++ b/test/renderers/contentful/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2 | undefined)[]"`, + `"(IContentType1 | IContentType2)[]"`, ) }) }) From e7d76d4dabf58e3b393a235725617367b2ffa13c Mon Sep 17 00:00:00 2001 From: Jim Heising Date: Wed, 29 Mar 2023 14:14:27 -0700 Subject: [PATCH 3/3] Fixed issue where links may be undefined --- src/renderers/contentful-fields-only/fields/renderLink.ts | 5 ++++- src/renderers/contentful/fields/renderLink.ts | 5 ++++- .../contentful-fields-only/fields/renderArray.test.ts | 2 +- .../contentful-fields-only/fields/renderLink.test.ts | 2 +- test/renderers/contentful/fields/renderArray.test.ts | 2 +- test/renderers/contentful/fields/renderLink.test.ts | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/renderers/contentful-fields-only/fields/renderLink.ts b/src/renderers/contentful-fields-only/fields/renderLink.ts index 978d1fdb..967fbc9e 100644 --- a/src/renderers/contentful-fields-only/fields/renderLink.ts +++ b/src/renderers/contentful-fields-only/fields/renderLink.ts @@ -11,7 +11,10 @@ export default function renderLink(field: Field): string { const contentTypeValidation = field.validations.find(validation => !!validation.linkContentType) if (contentTypeValidation) { - return renderUnionValues(contentTypeValidation.linkContentType!.map(renderContentTypeId)) + return renderUnionValues([ + ...contentTypeValidation.linkContentType!.map(renderContentTypeId), + "undefined", + ]) } else { return "unknown" } diff --git a/src/renderers/contentful/fields/renderLink.ts b/src/renderers/contentful/fields/renderLink.ts index 5e911025..4b69e6d7 100644 --- a/src/renderers/contentful/fields/renderLink.ts +++ b/src/renderers/contentful/fields/renderLink.ts @@ -11,7 +11,10 @@ export default function renderLink(field: Field): string { const contentTypeValidation = field.validations.find(validation => !!validation.linkContentType) if (contentTypeValidation) { - return renderUnionValues(contentTypeValidation.linkContentType!.map(renderContentTypeId)) + return renderUnionValues([ + ...contentTypeValidation.linkContentType!.map(renderContentTypeId), + "undefined", + ]) } else { return "Entry<{ [fieldId: string]: unknown }>" } diff --git a/test/renderers/contentful-fields-only/fields/renderArray.test.ts b/test/renderers/contentful-fields-only/fields/renderArray.test.ts index 1f849b06..14ec4f57 100644 --- a/test/renderers/contentful-fields-only/fields/renderArray.test.ts +++ b/test/renderers/contentful-fields-only/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2)[]"`, + `"(IContentType1 | IContentType2 | undefined)[]"`, ) }) }) diff --git a/test/renderers/contentful-fields-only/fields/renderLink.test.ts b/test/renderers/contentful-fields-only/fields/renderLink.test.ts index d4edd72d..94187387 100644 --- a/test/renderers/contentful-fields-only/fields/renderLink.test.ts +++ b/test/renderers/contentful-fields-only/fields/renderLink.test.ts @@ -31,7 +31,7 @@ describe("renderLink()", () => { linkType: "Entry", } - expect(renderLink(validatedEntryLink)).toMatchInlineSnapshot(`"ILinkToOtherThing"`) + expect(renderLink(validatedEntryLink)).toMatchInlineSnapshot(`"ILinkToOtherThing | undefined"`) }) it("renders an asset link", () => { diff --git a/test/renderers/contentful/fields/renderArray.test.ts b/test/renderers/contentful/fields/renderArray.test.ts index 80039aae..490fed3b 100644 --- a/test/renderers/contentful/fields/renderArray.test.ts +++ b/test/renderers/contentful/fields/renderArray.test.ts @@ -63,7 +63,7 @@ describe("renderArray()", () => { } expect(renderArray(arrayOfValidatedSymbols)).toMatchInlineSnapshot( - `"(IContentType1 | IContentType2)[]"`, + `"(IContentType1 | IContentType2 | undefined)[]"`, ) }) }) diff --git a/test/renderers/contentful/fields/renderLink.test.ts b/test/renderers/contentful/fields/renderLink.test.ts index 883ae0ad..ed8e1d9d 100644 --- a/test/renderers/contentful/fields/renderLink.test.ts +++ b/test/renderers/contentful/fields/renderLink.test.ts @@ -33,7 +33,7 @@ describe("renderLink()", () => { linkType: "Entry", } - expect(renderLink(validatedEntryLink)).toMatchInlineSnapshot(`"ILinkToOtherThing"`) + expect(renderLink(validatedEntryLink)).toMatchInlineSnapshot(`"ILinkToOtherThing | undefined"`) }) it("renders an asset link", () => {