@se-studio/contentful-rest-api 1.0.27 → 1.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -526,6 +526,7 @@ function createInternalLink(id, fields, context, href, internalType, additionalP
526
526
  const {
527
527
  cmsLabel,
528
528
  title,
529
+ useName,
529
530
  featuredImage,
530
531
  backgroundColour,
531
532
  textColour,
@@ -540,7 +541,7 @@ function createInternalLink(id, fields, context, href, internalType, additionalP
540
541
  internalType,
541
542
  id,
542
543
  name: cmsLabel ?? "",
543
- useName: true,
544
+ useName,
544
545
  text,
545
546
  visual: lookupAsset(context, featuredImage),
546
547
  backgroundColour,
@@ -1708,30 +1709,28 @@ function baseArticleLinkConverter(context, entry) {
1708
1709
  if (sys.contentType.sys.id !== "article") {
1709
1710
  throw new Error(`Invalid content type: expected "article", got "${sys.contentType.sys.id}"`);
1710
1711
  }
1711
- const articleTypeLink = resolveLink(context, sys.id, fields.articleType);
1712
- const tags = fields.tags?.map((tag) => resolveLink(context, sys.id, tag));
1712
+ const {
1713
+ articleType: fieldsArticleType,
1714
+ tags: fieldsTags,
1715
+ author: fieldsAuthor,
1716
+ date,
1717
+ ...simpleFields
1718
+ } = fields;
1719
+ const articleType = resolveLink(context, sys.id, fieldsArticleType);
1720
+ const tags = fieldsTags?.map((tag) => resolveLink(context, sys.id, tag));
1713
1721
  const primaryTag = tags?.[0] ?? void 0;
1714
- const author = fields.author ? resolveLink(context, sys.id, fields.author) : void 0;
1722
+ const author = fieldsAuthor ? resolveLink(context, sys.id, fieldsAuthor) : void 0;
1715
1723
  return createInternalLink(
1716
1724
  sys.id,
1717
- {
1718
- cmsLabel: fields.cmsLabel,
1719
- title: fields.title,
1720
- featuredImage: fields.featuredImage,
1721
- backgroundColour: fields.backgroundColour,
1722
- textColour: fields.textColour,
1723
- indexed: fields.indexed,
1724
- hidden: fields.hidden,
1725
- slug: fields.slug
1726
- },
1725
+ simpleFields,
1727
1726
  context,
1728
- calculateArticleHref(articleTypeLink.slug, fields.slug),
1727
+ calculateArticleHref(articleType.slug, fields.slug),
1729
1728
  "Article",
1730
1729
  {
1731
1730
  tags,
1732
1731
  primaryTag,
1733
- articleType: articleTypeLink,
1734
- date: fields.date,
1732
+ articleType,
1733
+ date,
1735
1734
  author
1736
1735
  }
1737
1736
  );
@@ -1989,6 +1988,23 @@ function calculateCustomTypeHref(slug) {
1989
1988
  return `/${slug}/`;
1990
1989
  }
1991
1990
 
1991
+ // src/converters/externalComponent.ts
1992
+ function baseExternalComponentConverter(_context, entry) {
1993
+ const { sys, fields } = entry;
1994
+ const { cmsLabel, ...simpleFields } = fields;
1995
+ const externalComponent = {
1996
+ type: "External component",
1997
+ id: sys.id,
1998
+ name: makeContentfulTitle(cmsLabel, sys.id),
1999
+ cmsLabel,
2000
+ ...DEFAULT_POSITION_FIELDS,
2001
+ ...simpleFields,
2002
+ backgroundOverlayOpacity: null,
2003
+ backgroundVisual: void 0
2004
+ };
2005
+ return externalComponent;
2006
+ }
2007
+
1992
2008
  // src/converters/link.ts
1993
2009
  function baseLinkConverter(context, entry) {
1994
2010
  const { sys, fields } = entry;
@@ -2199,17 +2215,40 @@ function calculatePersonHref(slug) {
2199
2215
  }
2200
2216
  function basePersonLinkConverter(context, entry) {
2201
2217
  const { sys, fields } = entry;
2218
+ const {
2219
+ name,
2220
+ bio: fieldsBio,
2221
+ jobTitle,
2222
+ phoneNumber,
2223
+ emailAddress,
2224
+ linkedIn,
2225
+ location,
2226
+ media,
2227
+ ...simpleFields
2228
+ } = fields;
2202
2229
  if (sys.contentType.sys.id !== "person") {
2203
2230
  throw new Error(`Invalid content type: expected "person", got "${sys.contentType.sys.id}"`);
2204
2231
  }
2232
+ const title = makeContentfulTitle(name, sys.id);
2205
2233
  return createInternalLink(
2206
2234
  sys.id,
2207
2235
  {
2208
- ...fields
2236
+ ...simpleFields,
2237
+ title,
2238
+ featuredImage: media,
2239
+ cmsLabel: title
2209
2240
  },
2210
2241
  context,
2211
2242
  calculatePersonHref(fields.slug),
2212
- "Person"
2243
+ "Person",
2244
+ {
2245
+ bio: resolveRichTextDocument(context, sys.id, fieldsBio),
2246
+ jobTitle,
2247
+ phoneNumber,
2248
+ emailAddress,
2249
+ linkedIn,
2250
+ location
2251
+ }
2213
2252
  );
2214
2253
  }
2215
2254
 
@@ -2297,7 +2336,7 @@ function createBaseConverterContext() {
2297
2336
  contentResolver.set("component", baseComponentConverter);
2298
2337
  contentResolver.set(
2299
2338
  "externalComponent",
2300
- baseComponentConverter
2339
+ baseExternalComponentConverter
2301
2340
  );
2302
2341
  return {
2303
2342
  pageResolver: basePageConverter,