From d837c0fc3ce9021b77002203d6b02ab45633e950 Mon Sep 17 00:00:00 2001 From: Carlos Saito Date: Mon, 10 Nov 2025 10:48:28 +0100 Subject: [PATCH 1/2] Add text, title, target to link --- .../optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts | 2 +- packages/optimizely-cms-sdk/src/graph/createQuery.ts | 2 +- packages/optimizely-cms-sdk/src/infer.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts b/packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts index cfbed229..1512a535 100644 --- a/packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts +++ b/packages/optimizely-cms-sdk/src/graph/__test__/createQuery.test.ts @@ -77,7 +77,7 @@ describe('createFragment() simple cases', () => { "fragment ContentUrl on ContentUrl { type default hierarchical internal graph base }", "fragment IContentMetadata on IContentMetadata { key locale fallbackForLocale version displayName url {...ContentUrl} types published status created lastModified sortOrder variation ...MediaMetadata }", "fragment _IContent on _IContent { _deleted _fulltext _modified _score _id _track _metadata {...IContentMetadata} }", - "fragment ct1 on ct1 { __typename lin { url { ...ContentUrl }} ric { html, json } lin2 { url { ...ContentUrl }} ric2 { html, json } ..._IContent }", + "fragment ct1 on ct1 { __typename lin { text title target url { ...ContentUrl }} ric { html, json } lin2 { text title target url { ...ContentUrl }} ric2 { html, json } ..._IContent }", ] `); }); diff --git a/packages/optimizely-cms-sdk/src/graph/createQuery.ts b/packages/optimizely-cms-sdk/src/graph/createQuery.ts index 7b184a6d..ad128f12 100644 --- a/packages/optimizely-cms-sdk/src/graph/createQuery.ts +++ b/packages/optimizely-cms-sdk/src/graph/createQuery.ts @@ -140,7 +140,7 @@ function convertPropertyField( fields.push(`${name} { ...ContentUrl }`); } else if (property.type === 'link') { extraFragments.push(CONTENT_URL_FRAGMENT); - fields.push(`${name} { url { ...ContentUrl }}`); + fields.push(`${name} { text title target url { ...ContentUrl }}`); } else if (property.type === 'contentReference') { extraFragments.push(CONTENT_URL_FRAGMENT); fields.push(`${name} { key url { ...ContentUrl }}`); diff --git a/packages/optimizely-cms-sdk/src/infer.ts b/packages/optimizely-cms-sdk/src/infer.ts index 153fc85a..bea92259 100644 --- a/packages/optimizely-cms-sdk/src/infer.ts +++ b/packages/optimizely-cms-sdk/src/infer.ts @@ -74,7 +74,7 @@ export type InferFromProperty = : T extends JsonProperty ? any : T extends RichTextProperty ? InferredRichText : T extends UrlProperty ? InferredUrl - : T extends LinkProperty ? { url: InferredUrl } + : T extends LinkProperty ? { text: string, title: string, target: string, url: InferredUrl } : T extends IntegerProperty ? number : T extends FloatProperty ? number : T extends ContentReferenceProperty ? { url: InferredUrl } From b6babd655336739046f242f85bf525c1e157ff38 Mon Sep 17 00:00:00 2001 From: Carlos Saito Date: Mon, 10 Nov 2025 10:49:23 +0100 Subject: [PATCH 2/2] Add nullability --- packages/optimizely-cms-sdk/src/infer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/optimizely-cms-sdk/src/infer.ts b/packages/optimizely-cms-sdk/src/infer.ts index bea92259..91255b01 100644 --- a/packages/optimizely-cms-sdk/src/infer.ts +++ b/packages/optimizely-cms-sdk/src/infer.ts @@ -74,7 +74,7 @@ export type InferFromProperty = : T extends JsonProperty ? any : T extends RichTextProperty ? InferredRichText : T extends UrlProperty ? InferredUrl - : T extends LinkProperty ? { text: string, title: string, target: string, url: InferredUrl } + : T extends LinkProperty ? { text: string | null, title: string | null, target: string | null, url: InferredUrl } : T extends IntegerProperty ? number : T extends FloatProperty ? number : T extends ContentReferenceProperty ? { url: InferredUrl }