@@ -124,7 +124,12 @@ export class ContentWrapper {
124124 }
125125
126126 async transformLink ( link : any , type : string | undefined ) : Promise < any > {
127- // 1. SAFETY CHECK: Ignore completely empty links
127+ // Undefined type --> this is a primitive value
128+ // Just return the string directly!
129+ if ( ! type ) return link ;
130+
131+ // Now we know it's supposed to be a Link (Asset or Entry).
132+ // Ignore completely empty/broken links.
128133 if ( ! link || ! link . sys ) return undefined ;
129134
130135 switch ( type ) {
@@ -135,28 +140,53 @@ export class ContentWrapper {
135140 return { src : `https:${ link . fields . file . url } ` , alt : link . fields . title } ;
136141
137142 case "Entry" :
138- // 2. SAFETY CHECK: If the entry is unpublished/unresolved, skip it
143+ // SAFETY CHECK: If the entry is unpublished/unresolved, skip it
139144 if ( ! link . sys . contentType ) return undefined ;
140145
141146 return await this . serialize (
142147 link ,
143148 await this . client . getContentType ( link . sys . contentType . sys . id )
144149 ) ;
145-
146- case "Array" :
147- const transformedArray = await Promise . all (
148- res [ id ] . map ( ( link : any ) =>
149- this . transformLink ( link , field . items ! . linkType )
150- )
151- ) ;
152- // Filter out any undefined items that were unpublished
153- res [ id ] = transformedArray . filter ( ( item ) => item !== undefined ) ;
154- break ;
155150
156- case undefined :
151+ default :
157152 return link ;
158153 }
159154
155+ // WEBSITE FIX ATTEMPT 1
156+ // Ignore completely empty links
157+ // if (!link || !link.sys) return undefined;
158+
159+ // switch (type) {
160+ // case "Asset":
161+ // if (link.src !== undefined) return link;
162+ // // Safety check for deleted/unpublished assets
163+ // if (!link.fields || !link.fields.file) return undefined;
164+ // return { src: `https:${link.fields.file.url}`, alt: link.fields.title };
165+
166+ // case "Entry":
167+ // // 2. SAFETY CHECK: If the entry is unpublished/unresolved, skip it
168+ // if (!link.sys.contentType) return undefined;
169+
170+ // return await this.serialize(
171+ // link,
172+ // await this.client.getContentType(link.sys.contentType.sys.id)
173+ // );
174+
175+ // case "Array":
176+ // const transformedArray = await Promise.all(
177+ // res[id].map((link: any) =>
178+ // this.transformLink(link, field.items!.linkType)
179+ // )
180+ // );
181+ // // Filter out any undefined items that were unpublished
182+ // res[id] = transformedArray.filter((item) => item !== undefined);
183+ // break;
184+
185+ // case undefined:
186+ // return link;
187+ // }
188+
189+ // ORIGINAL
160190 // switch (type) {
161191 // case "Asset":
162192 // return link.src !== undefined // why do I need to do this?
0 commit comments