@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 +59 -20
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|
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
|
|
1712
|
-
|
|
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 =
|
|
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(
|
|
1727
|
+
calculateArticleHref(articleType.slug, fields.slug),
|
|
1729
1728
|
"Article",
|
|
1730
1729
|
{
|
|
1731
1730
|
tags,
|
|
1732
1731
|
primaryTag,
|
|
1733
|
-
articleType
|
|
1734
|
-
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
|
-
...
|
|
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
|
-
|
|
2339
|
+
baseExternalComponentConverter
|
|
2301
2340
|
);
|
|
2302
2341
|
return {
|
|
2303
2342
|
pageResolver: basePageConverter,
|