@se-studio/contentful-rest-api 0.0.0-next16-20260822103555
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/CHANGELOG.md +2036 -0
- package/README.md +764 -0
- package/dist/api/article-type.d.ts +37 -0
- package/dist/api/article-type.d.ts.map +1 -0
- package/dist/api/article-type.js +140 -0
- package/dist/api/article-type.js.map +1 -0
- package/dist/api/article.d.ts +32 -0
- package/dist/api/article.d.ts.map +1 -0
- package/dist/api/article.js +43 -0
- package/dist/api/article.js.map +1 -0
- package/dist/api/asset.d.ts +28 -0
- package/dist/api/asset.d.ts.map +1 -0
- package/dist/api/asset.js +56 -0
- package/dist/api/asset.js.map +1 -0
- package/dist/api/banner.d.ts +8 -0
- package/dist/api/banner.d.ts.map +1 -0
- package/dist/api/banner.js +96 -0
- package/dist/api/banner.js.map +1 -0
- package/dist/api/breadcrumb.d.ts +40 -0
- package/dist/api/breadcrumb.d.ts.map +1 -0
- package/dist/api/breadcrumb.js +60 -0
- package/dist/api/breadcrumb.js.map +1 -0
- package/dist/api/componentPreview.d.ts +59 -0
- package/dist/api/componentPreview.d.ts.map +1 -0
- package/dist/api/componentPreview.js +88 -0
- package/dist/api/componentPreview.js.map +1 -0
- package/dist/api/context.d.ts +24 -0
- package/dist/api/context.d.ts.map +1 -0
- package/dist/api/context.js +73 -0
- package/dist/api/context.js.map +1 -0
- package/dist/api/custom-type.d.ts +37 -0
- package/dist/api/custom-type.d.ts.map +1 -0
- package/dist/api/custom-type.js +44 -0
- package/dist/api/custom-type.js.map +1 -0
- package/dist/api/document.d.ts +8 -0
- package/dist/api/document.d.ts.map +1 -0
- package/dist/api/document.js +84 -0
- package/dist/api/document.js.map +1 -0
- package/dist/api/helpers.d.ts +59 -0
- package/dist/api/helpers.d.ts.map +1 -0
- package/dist/api/helpers.js +313 -0
- package/dist/api/helpers.js.map +1 -0
- package/dist/api/index.d.ts +33 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +37 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/links.d.ts +124 -0
- package/dist/api/links.d.ts.map +1 -0
- package/dist/api/links.js +307 -0
- package/dist/api/links.js.map +1 -0
- package/dist/api/listing-fetch-params.d.ts +70 -0
- package/dist/api/listing-fetch-params.d.ts.map +1 -0
- package/dist/api/listing-fetch-params.js +124 -0
- package/dist/api/listing-fetch-params.js.map +1 -0
- package/dist/api/media-library.d.ts +59 -0
- package/dist/api/media-library.d.ts.map +1 -0
- package/dist/api/media-library.js +315 -0
- package/dist/api/media-library.js.map +1 -0
- package/dist/api/navigation.d.ts +10 -0
- package/dist/api/navigation.d.ts.map +1 -0
- package/dist/api/navigation.js +18 -0
- package/dist/api/navigation.js.map +1 -0
- package/dist/api/page.d.ts +15 -0
- package/dist/api/page.d.ts.map +1 -0
- package/dist/api/page.js +39 -0
- package/dist/api/page.js.map +1 -0
- package/dist/api/person.d.ts +37 -0
- package/dist/api/person.d.ts.map +1 -0
- package/dist/api/person.js +135 -0
- package/dist/api/person.js.map +1 -0
- package/dist/api/preview-types.d.ts +65 -0
- package/dist/api/preview-types.d.ts.map +1 -0
- package/dist/api/preview-types.js +7 -0
- package/dist/api/preview-types.js.map +1 -0
- package/dist/api/preview.d.ts +49 -0
- package/dist/api/preview.d.ts.map +1 -0
- package/dist/api/preview.js +261 -0
- package/dist/api/preview.js.map +1 -0
- package/dist/api/redirects.d.ts +16 -0
- package/dist/api/redirects.d.ts.map +1 -0
- package/dist/api/redirects.js +110 -0
- package/dist/api/redirects.js.map +1 -0
- package/dist/api/related-articles.d.ts +28 -0
- package/dist/api/related-articles.d.ts.map +1 -0
- package/dist/api/related-articles.js +147 -0
- package/dist/api/related-articles.js.map +1 -0
- package/dist/api/server-asset.d.ts +67 -0
- package/dist/api/server-asset.d.ts.map +1 -0
- package/dist/api/server-asset.js +106 -0
- package/dist/api/server-asset.js.map +1 -0
- package/dist/api/sitemap.d.ts +131 -0
- package/dist/api/sitemap.d.ts.map +1 -0
- package/dist/api/sitemap.js +201 -0
- package/dist/api/sitemap.js.map +1 -0
- package/dist/api/tag-type.d.ts +32 -0
- package/dist/api/tag-type.d.ts.map +1 -0
- package/dist/api/tag-type.js +123 -0
- package/dist/api/tag-type.js.map +1 -0
- package/dist/api/tag.d.ts +37 -0
- package/dist/api/tag.d.ts.map +1 -0
- package/dist/api/tag.js +132 -0
- package/dist/api/tag.js.map +1 -0
- package/dist/api/template.d.ts +61 -0
- package/dist/api/template.d.ts.map +1 -0
- package/dist/api/template.js +94 -0
- package/dist/api/template.js.map +1 -0
- package/dist/api/types.d.ts +113 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/baseTypes/baseAlternatePageContent.d.ts +32 -0
- package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
- package/dist/baseTypes/baseAlternatePageContent.js +2 -0
- package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
- package/dist/baseTypes/baseArticle.d.ts +206 -0
- package/dist/baseTypes/baseArticle.d.ts.map +1 -0
- package/dist/baseTypes/baseArticle.js +2 -0
- package/dist/baseTypes/baseArticle.js.map +1 -0
- package/dist/baseTypes/baseArticleType.d.ts +177 -0
- package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
- package/dist/baseTypes/baseArticleType.js +2 -0
- package/dist/baseTypes/baseArticleType.js.map +1 -0
- package/dist/baseTypes/baseBanner.d.ts +113 -0
- package/dist/baseTypes/baseBanner.d.ts.map +1 -0
- package/dist/baseTypes/baseBanner.js +2 -0
- package/dist/baseTypes/baseBanner.js.map +1 -0
- package/dist/baseTypes/baseCollection.d.ts +132 -0
- package/dist/baseTypes/baseCollection.d.ts.map +1 -0
- package/dist/baseTypes/baseCollection.js +2 -0
- package/dist/baseTypes/baseCollection.js.map +1 -0
- package/dist/baseTypes/baseComponent.d.ts +130 -0
- package/dist/baseTypes/baseComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseComponent.js +2 -0
- package/dist/baseTypes/baseComponent.js.map +1 -0
- package/dist/baseTypes/baseCustomType.d.ts +147 -0
- package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
- package/dist/baseTypes/baseCustomType.js +2 -0
- package/dist/baseTypes/baseCustomType.js.map +1 -0
- package/dist/baseTypes/baseDocument.d.ts +70 -0
- package/dist/baseTypes/baseDocument.d.ts.map +1 -0
- package/dist/baseTypes/baseDocument.js +2 -0
- package/dist/baseTypes/baseDocument.js.map +1 -0
- package/dist/baseTypes/baseExternalComponent.d.ts +138 -0
- package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseExternalComponent.js +2 -0
- package/dist/baseTypes/baseExternalComponent.js.map +1 -0
- package/dist/baseTypes/baseExternalVideo.d.ts +86 -0
- package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
- package/dist/baseTypes/baseExternalVideo.js +2 -0
- package/dist/baseTypes/baseExternalVideo.js.map +1 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts +72 -0
- package/dist/baseTypes/baseHtmlComponent.d.ts.map +1 -0
- package/dist/baseTypes/baseHtmlComponent.js +2 -0
- package/dist/baseTypes/baseHtmlComponent.js.map +1 -0
- package/dist/baseTypes/baseLink.d.ts +115 -0
- package/dist/baseTypes/baseLink.d.ts.map +1 -0
- package/dist/baseTypes/baseLink.js +2 -0
- package/dist/baseTypes/baseLink.js.map +1 -0
- package/dist/baseTypes/baseMedia.d.ts +100 -0
- package/dist/baseTypes/baseMedia.d.ts.map +1 -0
- package/dist/baseTypes/baseMedia.js +2 -0
- package/dist/baseTypes/baseMedia.js.map +1 -0
- package/dist/baseTypes/baseNavigation.d.ts +37 -0
- package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
- package/dist/baseTypes/baseNavigation.js +2 -0
- package/dist/baseTypes/baseNavigation.js.map +1 -0
- package/dist/baseTypes/baseNavigationItem.d.ts +109 -0
- package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
- package/dist/baseTypes/baseNavigationItem.js +2 -0
- package/dist/baseTypes/baseNavigationItem.js.map +1 -0
- package/dist/baseTypes/basePage.d.ts +142 -0
- package/dist/baseTypes/basePage.d.ts.map +1 -0
- package/dist/baseTypes/basePage.js +2 -0
- package/dist/baseTypes/basePage.js.map +1 -0
- package/dist/baseTypes/basePageVariant.d.ts +145 -0
- package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
- package/dist/baseTypes/basePageVariant.js +2 -0
- package/dist/baseTypes/basePageVariant.js.map +1 -0
- package/dist/baseTypes/basePerson.d.ts +160 -0
- package/dist/baseTypes/basePerson.d.ts.map +1 -0
- package/dist/baseTypes/basePerson.js +2 -0
- package/dist/baseTypes/basePerson.js.map +1 -0
- package/dist/baseTypes/baseRedirect.d.ts +69 -0
- package/dist/baseTypes/baseRedirect.d.ts.map +1 -0
- package/dist/baseTypes/baseRedirect.js +2 -0
- package/dist/baseTypes/baseRedirect.js.map +1 -0
- package/dist/baseTypes/baseSchema.d.ts +19 -0
- package/dist/baseTypes/baseSchema.d.ts.map +1 -0
- package/dist/baseTypes/baseSchema.js +2 -0
- package/dist/baseTypes/baseSchema.js.map +1 -0
- package/dist/baseTypes/baseShared.d.ts +25 -0
- package/dist/baseTypes/baseShared.d.ts.map +1 -0
- package/dist/baseTypes/baseShared.js +2 -0
- package/dist/baseTypes/baseShared.js.map +1 -0
- package/dist/baseTypes/baseTag.d.ts +129 -0
- package/dist/baseTypes/baseTag.d.ts.map +1 -0
- package/dist/baseTypes/baseTag.js +2 -0
- package/dist/baseTypes/baseTag.js.map +1 -0
- package/dist/baseTypes/baseTagType.d.ts +70 -0
- package/dist/baseTypes/baseTagType.d.ts.map +1 -0
- package/dist/baseTypes/baseTagType.js +2 -0
- package/dist/baseTypes/baseTagType.js.map +1 -0
- package/dist/baseTypes/baseTemplate.d.ts +77 -0
- package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
- package/dist/baseTypes/baseTemplate.js +2 -0
- package/dist/baseTypes/baseTemplate.js.map +1 -0
- package/dist/client.d.ts +145 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +322 -0
- package/dist/client.js.map +1 -0
- package/dist/cms-integrity.d.ts +10 -0
- package/dist/cms-integrity.d.ts.map +1 -0
- package/dist/cms-integrity.js +7 -0
- package/dist/cms-integrity.js.map +1 -0
- package/dist/converters/animationEnricher.d.ts +17 -0
- package/dist/converters/animationEnricher.d.ts.map +1 -0
- package/dist/converters/animationEnricher.js +177 -0
- package/dist/converters/animationEnricher.js.map +1 -0
- package/dist/converters/article.d.ts +48 -0
- package/dist/converters/article.d.ts.map +1 -0
- package/dist/converters/article.js +364 -0
- package/dist/converters/article.js.map +1 -0
- package/dist/converters/asset.d.ts +33 -0
- package/dist/converters/asset.d.ts.map +1 -0
- package/dist/converters/asset.js +340 -0
- package/dist/converters/asset.js.map +1 -0
- package/dist/converters/banner.d.ts +10 -0
- package/dist/converters/banner.d.ts.map +1 -0
- package/dist/converters/banner.js +63 -0
- package/dist/converters/banner.js.map +1 -0
- package/dist/converters/collection.d.ts +26 -0
- package/dist/converters/collection.d.ts.map +1 -0
- package/dist/converters/collection.js +52 -0
- package/dist/converters/collection.js.map +1 -0
- package/dist/converters/component.d.ts +26 -0
- package/dist/converters/component.d.ts.map +1 -0
- package/dist/converters/component.js +54 -0
- package/dist/converters/component.js.map +1 -0
- package/dist/converters/customType.d.ts +24 -0
- package/dist/converters/customType.d.ts.map +1 -0
- package/dist/converters/customType.js +93 -0
- package/dist/converters/customType.js.map +1 -0
- package/dist/converters/document.d.ts +14 -0
- package/dist/converters/document.d.ts.map +1 -0
- package/dist/converters/document.js +51 -0
- package/dist/converters/document.js.map +1 -0
- package/dist/converters/enrichAssets.d.ts +19 -0
- package/dist/converters/enrichAssets.d.ts.map +1 -0
- package/dist/converters/enrichAssets.js +36 -0
- package/dist/converters/enrichAssets.js.map +1 -0
- package/dist/converters/externalComponent.d.ts +27 -0
- package/dist/converters/externalComponent.d.ts.map +1 -0
- package/dist/converters/externalComponent.js +46 -0
- package/dist/converters/externalComponent.js.map +1 -0
- package/dist/converters/externalVideoEnricher.d.ts +12 -0
- package/dist/converters/externalVideoEnricher.d.ts.map +1 -0
- package/dist/converters/externalVideoEnricher.js +70 -0
- package/dist/converters/externalVideoEnricher.js.map +1 -0
- package/dist/converters/helpers.d.ts +173 -0
- package/dist/converters/helpers.d.ts.map +1 -0
- package/dist/converters/helpers.js +167 -0
- package/dist/converters/helpers.js.map +1 -0
- package/dist/converters/heroVideoEnricher.d.ts +9 -0
- package/dist/converters/heroVideoEnricher.d.ts.map +1 -0
- package/dist/converters/heroVideoEnricher.js +108 -0
- package/dist/converters/heroVideoEnricher.js.map +1 -0
- package/dist/converters/heroVideoEnv.d.ts +14 -0
- package/dist/converters/heroVideoEnv.d.ts.map +1 -0
- package/dist/converters/heroVideoEnv.js +28 -0
- package/dist/converters/heroVideoEnv.js.map +1 -0
- package/dist/converters/htmlComponent.d.ts +17 -0
- package/dist/converters/htmlComponent.d.ts.map +1 -0
- package/dist/converters/htmlComponent.js +33 -0
- package/dist/converters/htmlComponent.js.map +1 -0
- package/dist/converters/iconCollector.d.ts +36 -0
- package/dist/converters/iconCollector.d.ts.map +1 -0
- package/dist/converters/iconCollector.js +309 -0
- package/dist/converters/iconCollector.js.map +1 -0
- package/dist/converters/index.d.ts +26 -0
- package/dist/converters/index.d.ts.map +1 -0
- package/dist/converters/index.js +21 -0
- package/dist/converters/index.js.map +1 -0
- package/dist/converters/link.d.ts +11 -0
- package/dist/converters/link.d.ts.map +1 -0
- package/dist/converters/link.js +109 -0
- package/dist/converters/link.js.map +1 -0
- package/dist/converters/navigationItem.d.ts +17 -0
- package/dist/converters/navigationItem.d.ts.map +1 -0
- package/dist/converters/navigationItem.js +126 -0
- package/dist/converters/navigationItem.js.map +1 -0
- package/dist/converters/page.d.ts +44 -0
- package/dist/converters/page.d.ts.map +1 -0
- package/dist/converters/page.js +160 -0
- package/dist/converters/page.js.map +1 -0
- package/dist/converters/pageVariantMerge.d.ts +24 -0
- package/dist/converters/pageVariantMerge.d.ts.map +1 -0
- package/dist/converters/pageVariantMerge.js +151 -0
- package/dist/converters/pageVariantMerge.js.map +1 -0
- package/dist/converters/person.d.ts +40 -0
- package/dist/converters/person.d.ts.map +1 -0
- package/dist/converters/person.js +152 -0
- package/dist/converters/person.js.map +1 -0
- package/dist/converters/pictureBlurEnricher.d.ts +9 -0
- package/dist/converters/pictureBlurEnricher.d.ts.map +1 -0
- package/dist/converters/pictureBlurEnricher.js +79 -0
- package/dist/converters/pictureBlurEnricher.js.map +1 -0
- package/dist/converters/redirect.d.ts +20 -0
- package/dist/converters/redirect.d.ts.map +1 -0
- package/dist/converters/redirect.js +50 -0
- package/dist/converters/redirect.js.map +1 -0
- package/dist/converters/resolver.d.ts +26 -0
- package/dist/converters/resolver.d.ts.map +1 -0
- package/dist/converters/resolver.js +383 -0
- package/dist/converters/resolver.js.map +1 -0
- package/dist/converters/schema.d.ts +14 -0
- package/dist/converters/schema.d.ts.map +1 -0
- package/dist/converters/schema.js +25 -0
- package/dist/converters/schema.js.map +1 -0
- package/dist/converters/svgProcessor.d.ts +58 -0
- package/dist/converters/svgProcessor.d.ts.map +1 -0
- package/dist/converters/svgProcessor.js +225 -0
- package/dist/converters/svgProcessor.js.map +1 -0
- package/dist/converters/tag.d.ts +25 -0
- package/dist/converters/tag.d.ts.map +1 -0
- package/dist/converters/tag.js +170 -0
- package/dist/converters/tag.js.map +1 -0
- package/dist/converters/tagType.d.ts +15 -0
- package/dist/converters/tagType.d.ts.map +1 -0
- package/dist/converters/tagType.js +56 -0
- package/dist/converters/tagType.js.map +1 -0
- package/dist/converters/template.d.ts +31 -0
- package/dist/converters/template.d.ts.map +1 -0
- package/dist/converters/template.js +53 -0
- package/dist/converters/template.js.map +1 -0
- package/dist/converters/videoEnricher.d.ts +14 -0
- package/dist/converters/videoEnricher.d.ts.map +1 -0
- package/dist/converters/videoEnricher.js +85 -0
- package/dist/converters/videoEnricher.js.map +1 -0
- package/dist/icons/rebuildIconSprite.d.ts +8 -0
- package/dist/icons/rebuildIconSprite.d.ts.map +1 -0
- package/dist/icons/rebuildIconSprite.js +15 -0
- package/dist/icons/rebuildIconSprite.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation/assembly.d.ts +8 -0
- package/dist/navigation/assembly.d.ts.map +1 -0
- package/dist/navigation/assembly.js +115 -0
- package/dist/navigation/assembly.js.map +1 -0
- package/dist/navigation/cacheOptions.d.ts +17 -0
- package/dist/navigation/cacheOptions.d.ts.map +1 -0
- package/dist/navigation/cacheOptions.js +45 -0
- package/dist/navigation/cacheOptions.js.map +1 -0
- package/dist/navigation/enrichModelNavigation.d.ts +17 -0
- package/dist/navigation/enrichModelNavigation.d.ts.map +1 -0
- package/dist/navigation/enrichModelNavigation.js +46 -0
- package/dist/navigation/enrichModelNavigation.js.map +1 -0
- package/dist/navigation/linkIndex.d.ts +10 -0
- package/dist/navigation/linkIndex.d.ts.map +1 -0
- package/dist/navigation/linkIndex.js +34 -0
- package/dist/navigation/linkIndex.js.map +1 -0
- package/dist/navigation/listingLinkBundle.d.ts +22 -0
- package/dist/navigation/listingLinkBundle.d.ts.map +1 -0
- package/dist/navigation/listingLinkBundle.js +88 -0
- package/dist/navigation/listingLinkBundle.js.map +1 -0
- package/dist/navigation/registry.d.ts +15 -0
- package/dist/navigation/registry.d.ts.map +1 -0
- package/dist/navigation/registry.js +130 -0
- package/dist/navigation/registry.js.map +1 -0
- package/dist/navigation/requestCache.d.ts +18 -0
- package/dist/navigation/requestCache.d.ts.map +1 -0
- package/dist/navigation/requestCache.js +66 -0
- package/dist/navigation/requestCache.js.map +1 -0
- package/dist/navigation/types.d.ts +45 -0
- package/dist/navigation/types.d.ts.map +1 -0
- package/dist/navigation/types.js +2 -0
- package/dist/navigation/types.js.map +1 -0
- package/dist/revalidation/entry-handlers.d.ts +40 -0
- package/dist/revalidation/entry-handlers.d.ts.map +1 -0
- package/dist/revalidation/entry-handlers.js +144 -0
- package/dist/revalidation/entry-handlers.js.map +1 -0
- package/dist/revalidation/handlers.d.ts +19 -0
- package/dist/revalidation/handlers.d.ts.map +1 -0
- package/dist/revalidation/handlers.js +50 -0
- package/dist/revalidation/handlers.js.map +1 -0
- package/dist/revalidation/index.d.ts +4 -0
- package/dist/revalidation/index.d.ts.map +1 -0
- package/dist/revalidation/index.js +5 -0
- package/dist/revalidation/index.js.map +1 -0
- package/dist/revalidation/nextjs-route.d.ts +38 -0
- package/dist/revalidation/nextjs-route.d.ts.map +1 -0
- package/dist/revalidation/nextjs-route.js +36 -0
- package/dist/revalidation/nextjs-route.js.map +1 -0
- package/dist/revalidation/route.d.ts +3 -0
- package/dist/revalidation/route.d.ts.map +1 -0
- package/dist/revalidation/route.js +99 -0
- package/dist/revalidation/route.js.map +1 -0
- package/dist/revalidation/server-utils.d.ts +31 -0
- package/dist/revalidation/server-utils.d.ts.map +1 -0
- package/dist/revalidation/server-utils.js +54 -0
- package/dist/revalidation/server-utils.js.map +1 -0
- package/dist/revalidation/tags.d.ts +110 -0
- package/dist/revalidation/tags.d.ts.map +1 -0
- package/dist/revalidation/tags.js +160 -0
- package/dist/revalidation/tags.js.map +1 -0
- package/dist/revalidation/utils.d.ts +21 -0
- package/dist/revalidation/utils.d.ts.map +1 -0
- package/dist/revalidation/utils.js +61 -0
- package/dist/revalidation/utils.js.map +1 -0
- package/dist/revalidation/webhook-content-types.d.ts +12 -0
- package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
- package/dist/revalidation/webhook-content-types.js +28 -0
- package/dist/revalidation/webhook-content-types.js.map +1 -0
- package/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +2 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/marketing-site-url-calculators.d.ts +21 -0
- package/dist/routing/marketing-site-url-calculators.d.ts.map +1 -0
- package/dist/routing/marketing-site-url-calculators.js +43 -0
- package/dist/routing/marketing-site-url-calculators.js.map +1 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +10 -0
- package/dist/server.js.map +1 -0
- package/dist/telemetry/deriveOperation.d.ts +8 -0
- package/dist/telemetry/deriveOperation.d.ts.map +1 -0
- package/dist/telemetry/deriveOperation.js +59 -0
- package/dist/telemetry/deriveOperation.js.map +1 -0
- package/dist/telemetry/queryContext.d.ts +7 -0
- package/dist/telemetry/queryContext.d.ts.map +1 -0
- package/dist/telemetry/queryContext.js +9 -0
- package/dist/telemetry/queryContext.js.map +1 -0
- package/dist/telemetry/queryLog.d.ts +17 -0
- package/dist/telemetry/queryLog.d.ts.map +1 -0
- package/dist/telemetry/queryLog.js +54 -0
- package/dist/telemetry/queryLog.js.map +1 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/arrayUtils.d.ts +3 -0
- package/dist/utils/arrayUtils.d.ts.map +1 -0
- package/dist/utils/arrayUtils.js +12 -0
- package/dist/utils/arrayUtils.js.map +1 -0
- package/dist/utils/dateUtils.d.ts +9 -0
- package/dist/utils/dateUtils.d.ts.map +1 -0
- package/dist/utils/dateUtils.js +26 -0
- package/dist/utils/dateUtils.js.map +1 -0
- package/dist/utils/errors.d.ts +56 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +100 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/redirectMap.d.ts +40 -0
- package/dist/utils/redirectMap.d.ts.map +1 -0
- package/dist/utils/redirectMap.js +129 -0
- package/dist/utils/redirectMap.js.map +1 -0
- package/dist/utils/retry.d.ts +103 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +248 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/tags.d.ts +35 -0
- package/dist/utils/tags.d.ts.map +1 -0
- package/dist/utils/tags.js +37 -0
- package/dist/utils/tags.js.map +1 -0
- package/docs/llms.md +430 -0
- package/package.json +86 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { buildDownloadAssetFromRawAsset, lookupAsset, makeContentfulDescription, makeContentfulTitle, stringOrUndefined, } from './helpers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Extension-first animation format (MIME is unreliable for `.lottie` uploads).
|
|
4
|
+
* Wrong extension ⇒ wrong player by design.
|
|
5
|
+
*/
|
|
6
|
+
export function animationFormatFromFile(file) {
|
|
7
|
+
const fileName = (file.fileName ?? '').toLowerCase();
|
|
8
|
+
const urlPath = (file.url ?? '').toLowerCase().split('?')[0] ?? '';
|
|
9
|
+
if (fileName.endsWith('.lottie') || urlPath.endsWith('.lottie')) {
|
|
10
|
+
return 'dotlottie';
|
|
11
|
+
}
|
|
12
|
+
if (fileName.endsWith('.json') || urlPath.endsWith('.json')) {
|
|
13
|
+
return 'lottie-json';
|
|
14
|
+
}
|
|
15
|
+
// Legacy: JSON Lottie often stored as application/json without a clear extension.
|
|
16
|
+
if (file.contentType === 'application/json') {
|
|
17
|
+
return 'lottie-json';
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
export function convertAssetToVisual(context, asset, options) {
|
|
22
|
+
if (!asset)
|
|
23
|
+
return undefined;
|
|
24
|
+
const { fields, sys } = asset;
|
|
25
|
+
if (!fields)
|
|
26
|
+
return undefined;
|
|
27
|
+
const { id } = sys;
|
|
28
|
+
const { file } = fields;
|
|
29
|
+
if (!file)
|
|
30
|
+
return undefined;
|
|
31
|
+
const { contentType } = file;
|
|
32
|
+
if (contentType?.startsWith('image/')) {
|
|
33
|
+
const image = convertAssetToImage(file, fields, sys, options);
|
|
34
|
+
if (!image)
|
|
35
|
+
return undefined;
|
|
36
|
+
return {
|
|
37
|
+
id,
|
|
38
|
+
type: 'Visual',
|
|
39
|
+
image,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (contentType?.startsWith('video/')) {
|
|
43
|
+
const video = convertAssetToVideo(file, fields, sys, context, options);
|
|
44
|
+
if (!video)
|
|
45
|
+
return undefined;
|
|
46
|
+
return {
|
|
47
|
+
id,
|
|
48
|
+
type: 'Visual',
|
|
49
|
+
video,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const animationFormat = animationFormatFromFile(file);
|
|
53
|
+
if (animationFormat) {
|
|
54
|
+
const animation = convertAssetToAnimation(file, fields, sys, animationFormat, options);
|
|
55
|
+
if (!animation)
|
|
56
|
+
return undefined;
|
|
57
|
+
return {
|
|
58
|
+
id,
|
|
59
|
+
type: 'Visual',
|
|
60
|
+
animation,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const download = buildDownloadAssetFromRawAsset(context, asset);
|
|
64
|
+
if (download) {
|
|
65
|
+
const { title } = fields;
|
|
66
|
+
return {
|
|
67
|
+
id,
|
|
68
|
+
type: 'Visual',
|
|
69
|
+
download,
|
|
70
|
+
name: makeContentfulTitle(title, id),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
function convertAssetToAnimation(file, fields, sys, format, options) {
|
|
76
|
+
const { id } = sys;
|
|
77
|
+
const { title, description } = fields;
|
|
78
|
+
const { url } = file;
|
|
79
|
+
if (!url)
|
|
80
|
+
return undefined;
|
|
81
|
+
return {
|
|
82
|
+
...options,
|
|
83
|
+
id,
|
|
84
|
+
type: 'Animation',
|
|
85
|
+
format,
|
|
86
|
+
animationSrc: `https:${url}`,
|
|
87
|
+
name: makeContentfulTitle(title, id),
|
|
88
|
+
description: stringOrUndefined(description),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function convertAssetToImage(file, fields, sys, options) {
|
|
92
|
+
const { contentType } = file;
|
|
93
|
+
if (contentType === 'image/svg+xml') {
|
|
94
|
+
return convertAssetToSvgImage(file, fields, sys, options);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return convertAssetToPicture(file, fields, sys, options);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function convertAssetToPicture(file, fields, sys, options) {
|
|
101
|
+
const { id } = sys;
|
|
102
|
+
const { title, description } = fields;
|
|
103
|
+
const { contentType, details, url } = file;
|
|
104
|
+
if (!details)
|
|
105
|
+
return undefined;
|
|
106
|
+
const { size, image } = details;
|
|
107
|
+
const { width, height } = image || {};
|
|
108
|
+
return {
|
|
109
|
+
...options,
|
|
110
|
+
id,
|
|
111
|
+
type: 'Picture',
|
|
112
|
+
src: `https:${url}`,
|
|
113
|
+
mimeType: contentType,
|
|
114
|
+
size,
|
|
115
|
+
width: width || 0,
|
|
116
|
+
height: height || 0,
|
|
117
|
+
name: makeContentfulTitle(title, id),
|
|
118
|
+
description: makeContentfulDescription(description, id),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function convertAssetToSvgImage(file, fields, sys, options) {
|
|
122
|
+
const { id } = sys;
|
|
123
|
+
const { title, description } = fields;
|
|
124
|
+
const { contentType, details, url } = file;
|
|
125
|
+
if (!details)
|
|
126
|
+
return undefined;
|
|
127
|
+
const { size, image } = details;
|
|
128
|
+
const { width, height } = image || {};
|
|
129
|
+
return {
|
|
130
|
+
...options,
|
|
131
|
+
id,
|
|
132
|
+
type: 'Svg image',
|
|
133
|
+
svgSrc: `https:${url}`,
|
|
134
|
+
mimeType: contentType,
|
|
135
|
+
size,
|
|
136
|
+
width: width || 0,
|
|
137
|
+
height: height || 0,
|
|
138
|
+
name: makeContentfulTitle(title, id),
|
|
139
|
+
description: stringOrUndefined(description),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function convertAssetToVideoDetails(file, sys) {
|
|
143
|
+
const { id } = sys;
|
|
144
|
+
const { details, url, contentType, fileName } = file;
|
|
145
|
+
if (!details)
|
|
146
|
+
return undefined;
|
|
147
|
+
const { size } = details;
|
|
148
|
+
return {
|
|
149
|
+
id,
|
|
150
|
+
videoUrl: `https:${url}`,
|
|
151
|
+
size,
|
|
152
|
+
mimeType: contentType,
|
|
153
|
+
fileName,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function convertAssetToVideo(file, fields, sys, context, options) {
|
|
157
|
+
const { id } = sys;
|
|
158
|
+
const { title, description } = fields;
|
|
159
|
+
const { details } = file;
|
|
160
|
+
if (!details) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
const { image } = details;
|
|
164
|
+
const { width, height } = image || {};
|
|
165
|
+
const videoDetails = convertAssetToVideoDetails(file, sys);
|
|
166
|
+
if (!videoDetails)
|
|
167
|
+
return undefined;
|
|
168
|
+
return {
|
|
169
|
+
...options,
|
|
170
|
+
id,
|
|
171
|
+
type: 'Local video',
|
|
172
|
+
preview: videoDetails,
|
|
173
|
+
videoPrefix: context.videoPrefix,
|
|
174
|
+
width: width || 0,
|
|
175
|
+
height: height || 0,
|
|
176
|
+
name: makeContentfulTitle(title, id),
|
|
177
|
+
description: makeContentfulDescription(description, id),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
export function createResponsiveVisual(visual, mobileVisual) {
|
|
181
|
+
if (!visual)
|
|
182
|
+
return undefined;
|
|
183
|
+
return {
|
|
184
|
+
visual,
|
|
185
|
+
mobileVisual,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
export const HIDE_MOBILE_BACKGROUND_FLAG = 'Hide mobile background';
|
|
189
|
+
/**
|
|
190
|
+
* Maps the CMS "Hide mobile background" flag onto backgroundVisual.hideMobileVisual.
|
|
191
|
+
* Foreground visuals use "Hide mobile visual" at render time in project components.
|
|
192
|
+
*/
|
|
193
|
+
export function applyHideMobileBackgroundFlag(responsiveVisual, flags) {
|
|
194
|
+
if (!responsiveVisual)
|
|
195
|
+
return undefined;
|
|
196
|
+
if (!flags?.includes(HIDE_MOBILE_BACKGROUND_FLAG))
|
|
197
|
+
return responsiveVisual;
|
|
198
|
+
return {
|
|
199
|
+
...responsiveVisual,
|
|
200
|
+
hideMobileVisual: true,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Converts a baseMedia entry to IVisual by looking up the asset and merging metadata.
|
|
205
|
+
* Resolves mask from either maskImage asset or mask dropdown via project's maskResolver.
|
|
206
|
+
*/
|
|
207
|
+
export function convertMediaEntryToVisual(context, entry) {
|
|
208
|
+
const { fields, sys } = entry;
|
|
209
|
+
if (!fields)
|
|
210
|
+
return undefined;
|
|
211
|
+
// Lookup the asset from context
|
|
212
|
+
const baseVisual = lookupAsset(context, fields.asset);
|
|
213
|
+
if (!baseVisual)
|
|
214
|
+
return undefined;
|
|
215
|
+
// Destructure mask/gradient fields separately so they don't go into metadata
|
|
216
|
+
const { name, mask: maskDropdown, maskImage, gradient: gradientDropdown, width: widthPercent,
|
|
217
|
+
// Contentful uses "autoplay" but we use "autoPlay"
|
|
218
|
+
autoplay: autoPlay, ...otherFields } = fields;
|
|
219
|
+
// Resolve mask: custom maskImage takes precedence over dropdown
|
|
220
|
+
let mask;
|
|
221
|
+
if (maskImage) {
|
|
222
|
+
// Custom SVG mask from asset
|
|
223
|
+
const maskVisual = lookupAsset(context, maskImage);
|
|
224
|
+
if (maskVisual?.image?.type === 'Svg image') {
|
|
225
|
+
mask = maskVisual.image.svgSrc;
|
|
226
|
+
}
|
|
227
|
+
else if (maskVisual?.image?.type === 'Picture') {
|
|
228
|
+
mask = maskVisual.image.src;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else if (maskDropdown && context.maskResolver) {
|
|
232
|
+
// Predefined mask from dropdown
|
|
233
|
+
mask = context.maskResolver(maskDropdown);
|
|
234
|
+
}
|
|
235
|
+
// Resolve gradient via project-provided resolver
|
|
236
|
+
const gradient = gradientDropdown && context.gradientResolver
|
|
237
|
+
? context.gradientResolver(gradientDropdown)
|
|
238
|
+
: undefined;
|
|
239
|
+
// Extract metadata from the media entry
|
|
240
|
+
const metadata = {
|
|
241
|
+
name: makeContentfulTitle(name, sys.id),
|
|
242
|
+
autoPlay,
|
|
243
|
+
widthPercent,
|
|
244
|
+
...otherFields,
|
|
245
|
+
};
|
|
246
|
+
// Merge metadata into the image or video
|
|
247
|
+
const visual = {
|
|
248
|
+
...baseVisual,
|
|
249
|
+
id: sys.id,
|
|
250
|
+
mask,
|
|
251
|
+
gradient,
|
|
252
|
+
};
|
|
253
|
+
if (baseVisual.image) {
|
|
254
|
+
visual.image = {
|
|
255
|
+
...baseVisual.image,
|
|
256
|
+
...metadata,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
else if (baseVisual.video) {
|
|
260
|
+
visual.video = {
|
|
261
|
+
...baseVisual.video,
|
|
262
|
+
...metadata,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
else if (baseVisual.animation) {
|
|
266
|
+
visual.animation = {
|
|
267
|
+
...baseVisual.animation,
|
|
268
|
+
...metadata,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
else if (baseVisual.download) {
|
|
272
|
+
visual.name = metadata.name;
|
|
273
|
+
}
|
|
274
|
+
return visual;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Converts a baseExternalVideo entry to IVisual with external video
|
|
278
|
+
*/
|
|
279
|
+
export function convertExternalVideoEntryToVisual(context, entry) {
|
|
280
|
+
const { fields, sys } = entry;
|
|
281
|
+
if (!fields?.url)
|
|
282
|
+
return undefined;
|
|
283
|
+
// Lookup optional preview and poster assets
|
|
284
|
+
const previewVisual = lookupAsset(context, fields.preview);
|
|
285
|
+
const posterVisual = lookupAsset(context, fields.posterImage);
|
|
286
|
+
// Extract preview IVideoDetails if available
|
|
287
|
+
const preview = previewVisual?.video?.type === 'Local video' ? previewVisual.video.preview : undefined;
|
|
288
|
+
// Extract poster URL if available
|
|
289
|
+
const poster = posterVisual?.image?.type === 'Picture' ? posterVisual.image.src : undefined;
|
|
290
|
+
// Map Contentful's "Center" to our "Middle" type
|
|
291
|
+
const mapHorizontal = (value) => {
|
|
292
|
+
if (!value)
|
|
293
|
+
return null;
|
|
294
|
+
return value === 'Center' ? 'Middle' : value;
|
|
295
|
+
};
|
|
296
|
+
const video = {
|
|
297
|
+
id: sys.id,
|
|
298
|
+
type: 'External video',
|
|
299
|
+
name: makeContentfulTitle(fields.name, sys.id),
|
|
300
|
+
nameAsCaption: fields.nameAsCaption ?? null,
|
|
301
|
+
external: fields.url,
|
|
302
|
+
embed: context.externalVideoEmbeds.get(sys.id),
|
|
303
|
+
preview,
|
|
304
|
+
poster,
|
|
305
|
+
autoPlay: fields.autoPlay ?? null,
|
|
306
|
+
loop: fields.loop ?? null,
|
|
307
|
+
hideControls: fields.hideControls ?? null,
|
|
308
|
+
dontCrop: fields.dontCrop ?? null,
|
|
309
|
+
verticalCropPosition: fields.verticalCropPosition ?? null,
|
|
310
|
+
horizontalCropPosition: mapHorizontal(fields.horizontalCropPosition),
|
|
311
|
+
horizontalPosition: fields.horizontalPosition ?? null,
|
|
312
|
+
widthPercent: fields.width ?? null,
|
|
313
|
+
};
|
|
314
|
+
return {
|
|
315
|
+
id: sys.id,
|
|
316
|
+
type: 'Visual',
|
|
317
|
+
video,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Looks up and converts a media or external video entry from an unresolved link
|
|
322
|
+
*/
|
|
323
|
+
export function lookupMediaEntry(context, link) {
|
|
324
|
+
if (!link)
|
|
325
|
+
return undefined;
|
|
326
|
+
const id = link.sys.id;
|
|
327
|
+
const possibleEntry = context.includes.get(id);
|
|
328
|
+
if (!possibleEntry) {
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
const { type, entry } = possibleEntry;
|
|
332
|
+
if (type === 'media') {
|
|
333
|
+
return convertMediaEntryToVisual(context, entry);
|
|
334
|
+
}
|
|
335
|
+
if (type === 'externalVideo') {
|
|
336
|
+
return convertExternalVideoEntryToVisual(context, entry);
|
|
337
|
+
}
|
|
338
|
+
return undefined;
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IBanner } from '@se-studio/core-data-types';
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { DefaultChainModifier } from '../api';
|
|
4
|
+
import type { BaseBannerSkeleton } from '../baseTypes/baseBanner';
|
|
5
|
+
import { type ConverterContext } from './helpers';
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Contentful banner entry to an IBanner object
|
|
8
|
+
*/
|
|
9
|
+
export declare function baseBannerConverter(context: ConverterContext, entry: Entry<BaseBannerSkeleton, DefaultChainModifier, string>): IBanner;
|
|
10
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/converters/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,OAAO,EAGR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,WAAW,CAAC;AA0BjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC7D,OAAO,CAqDT"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { lookupEntries } from './helpers.js';
|
|
2
|
+
import { resolveLink } from './resolver.js';
|
|
3
|
+
const PLACEMENTS = new Set(['top', 'afterHero', 'bottomSticky']);
|
|
4
|
+
function normalizePlacement(raw) {
|
|
5
|
+
if (typeof raw !== 'string' || !PLACEMENTS.has(raw)) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return raw;
|
|
9
|
+
}
|
|
10
|
+
function bannerCtaLabel(ctaText) {
|
|
11
|
+
return typeof ctaText === 'string' ? ctaText.trim() : '';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Copy CMS CTA Text onto the resolved link so site UIs can use `ctaLink.text`.
|
|
15
|
+
* Preserves an existing link `name` (e.g. page title on internal targets).
|
|
16
|
+
*/
|
|
17
|
+
function applyBannerCtaText(link, ctaText) {
|
|
18
|
+
const label = bannerCtaLabel(ctaText);
|
|
19
|
+
if (!label)
|
|
20
|
+
return link;
|
|
21
|
+
return { ...link, text: label, name: link.name || label };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Converts a Contentful banner entry to an IBanner object
|
|
25
|
+
*/
|
|
26
|
+
export function baseBannerConverter(context, entry) {
|
|
27
|
+
const { sys, fields } = entry;
|
|
28
|
+
if (sys.contentType.sys.id !== 'banner') {
|
|
29
|
+
throw new Error(`Invalid content type: expected "banner", got "${sys.contentType.sys.id}"`);
|
|
30
|
+
}
|
|
31
|
+
const id = sys.id;
|
|
32
|
+
const { ctaText, ctaInternalLink: rawCtaInternalLink, ctaExternalLink: rawCtaExternalLink, showOn: rawShowOn, hideOn: rawHideOn, theme, dismissType, placement: rawPlacement, ...simpleFields } = fields;
|
|
33
|
+
const ctaInternalLink = rawCtaInternalLink
|
|
34
|
+
? resolveLink(context, sys.id, rawCtaInternalLink)
|
|
35
|
+
: undefined;
|
|
36
|
+
// Labels are stamped only via applyBannerCtaText (single path for internal + external).
|
|
37
|
+
const ctaExternalLink = rawCtaExternalLink
|
|
38
|
+
? {
|
|
39
|
+
type: 'External link',
|
|
40
|
+
id: sys.id,
|
|
41
|
+
name: '',
|
|
42
|
+
text: null,
|
|
43
|
+
href: rawCtaExternalLink,
|
|
44
|
+
}
|
|
45
|
+
: undefined;
|
|
46
|
+
const rawCtaLink = ctaInternalLink ?? ctaExternalLink;
|
|
47
|
+
const ctaLink = rawCtaLink ? applyBannerCtaText(rawCtaLink, ctaText) : undefined;
|
|
48
|
+
const showOn = rawShowOn ? lookupEntries(context, rawShowOn) : undefined;
|
|
49
|
+
const hideOn = rawHideOn ? lookupEntries(context, rawHideOn) : undefined;
|
|
50
|
+
return {
|
|
51
|
+
type: 'Banner',
|
|
52
|
+
...simpleFields,
|
|
53
|
+
id,
|
|
54
|
+
ctaText: ctaText ?? null,
|
|
55
|
+
ctaLink,
|
|
56
|
+
showOn,
|
|
57
|
+
hideOn,
|
|
58
|
+
theme: theme,
|
|
59
|
+
placement: normalizePlacement(rawPlacement),
|
|
60
|
+
dismissType: dismissType,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/converters/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BaseCollectionContent, IBaseCollection } from '@se-studio/core-data-types';
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { DefaultChainModifier, IContentfulRichText } from '../api';
|
|
4
|
+
import type { BaseCollectionSkeleton } from '../baseTypes/baseCollection';
|
|
5
|
+
import { type ConverterContext } from './helpers';
|
|
6
|
+
export type IContentfulCollection<TContents extends BaseCollectionContent = BaseCollectionContent> = IBaseCollection<TContents> & {
|
|
7
|
+
body?: IContentfulRichText | null;
|
|
8
|
+
additionalCopy?: IContentfulRichText | null;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Base converter for Contentful Collection entries to ICollection type
|
|
12
|
+
*
|
|
13
|
+
* This is a minimal implementation that can be extended using
|
|
14
|
+
* the functional composition pattern.
|
|
15
|
+
*
|
|
16
|
+
* @param context - Converter context containing assets, includes, and resolvers
|
|
17
|
+
* @param entry - Contentful entry to convert
|
|
18
|
+
* @returns ICollection object
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const collection = baseCollectionConverter(context, contentfulEntry);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function baseCollectionConverter(context: ConverterContext, entry: Entry<BaseCollectionSkeleton, DefaultChainModifier, string>): IContentfulCollection;
|
|
26
|
+
//# sourceMappingURL=collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/converters/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,qBAAqB,GAAG,qBAAqB,IAC/F,eAAe,CAAC,SAAS,CAAC,GAAG;IAC3B,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEJ;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,qBAAqB,CAqDvB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { applyHideMobileBackgroundFlag, createResponsiveVisual, lookupMediaEntry } from './asset.js';
|
|
2
|
+
import { DEFAULT_POSITION_FIELDS, lookupAsset, lookupIconAsset, } from './helpers.js';
|
|
3
|
+
import { resolveCollectionContent, resolveLink, resolveRichTextDocument } from './resolver.js';
|
|
4
|
+
/**
|
|
5
|
+
* Base converter for Contentful Collection entries to ICollection type
|
|
6
|
+
*
|
|
7
|
+
* This is a minimal implementation that can be extended using
|
|
8
|
+
* the functional composition pattern.
|
|
9
|
+
*
|
|
10
|
+
* @param context - Converter context containing assets, includes, and resolvers
|
|
11
|
+
* @param entry - Contentful entry to convert
|
|
12
|
+
* @returns ICollection object
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const collection = baseCollectionConverter(context, contentfulEntry);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function baseCollectionConverter(context, entry) {
|
|
20
|
+
const { sys, fields } = entry;
|
|
21
|
+
const { id } = sys;
|
|
22
|
+
// Destructure to exclude fields that need special handling
|
|
23
|
+
const {
|
|
24
|
+
// Fields requiring transformation
|
|
25
|
+
backgroundVisual: bgVisual, mobileBackgroundVisual: mobileBgVisual, visual: visualField, mobileVisual: mobileVisualField, icon: iconField, links: linksField, contents: contentsField, body: bodyField, additionalCopy: additionalCopyField, showHeading, heading, flags,
|
|
26
|
+
// Already handled elsewhere
|
|
27
|
+
cmsLabel, ...simpleFields // anchor, backgroundColour, textColour, preHeading, heading, postHeading, backgroundOverlayOpacity
|
|
28
|
+
} = fields;
|
|
29
|
+
// Convert background visuals to responsive visual
|
|
30
|
+
const backgroundVisual = applyHideMobileBackgroundFlag(createResponsiveVisual(lookupAsset(context, bgVisual), lookupAsset(context, mobileBgVisual)), flags);
|
|
31
|
+
const visual = createResponsiveVisual(lookupMediaEntry(context, visualField), lookupMediaEntry(context, mobileVisualField));
|
|
32
|
+
const collection = {
|
|
33
|
+
type: 'Collection',
|
|
34
|
+
id,
|
|
35
|
+
name: cmsLabel,
|
|
36
|
+
cmsLabel,
|
|
37
|
+
...DEFAULT_POSITION_FIELDS,
|
|
38
|
+
...simpleFields,
|
|
39
|
+
heading: showHeading ? heading : undefined,
|
|
40
|
+
body: resolveRichTextDocument(context, id, bodyField),
|
|
41
|
+
additionalCopy: resolveRichTextDocument(context, id, additionalCopyField),
|
|
42
|
+
icon: lookupIconAsset(context, iconField),
|
|
43
|
+
backgroundVisual,
|
|
44
|
+
visual,
|
|
45
|
+
links: linksField?.map((link) => resolveLink(context, id, link)).filter((l) => l != null),
|
|
46
|
+
contents: contentsField
|
|
47
|
+
?.map((content) => resolveCollectionContent(context, id, content))
|
|
48
|
+
.filter((c) => c != null),
|
|
49
|
+
};
|
|
50
|
+
return collection;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/converters/collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQ5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAyB,EACzB,KAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IACnB,2DAA2D;IAC3D,MAAM;IACJ,kCAAkC;IAClC,gBAAgB,EAAE,QAAQ,EAC1B,sBAAsB,EAAE,cAAc,EACtC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,mBAAmB,EACnC,WAAW,EACX,OAAO,EACP,KAAK;IACL,4BAA4B;IAC5B,QAAQ,EACR,GAAG,YAAY,CAAC,mGAAmG;MACpH,GAAG,MAAM,CAAC;IAEX,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,6BAA6B,CACpD,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAC5F,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,sBAAsB,CACnC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,EACtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC7C,CAAC;IAEF,MAAM,UAAU,GAA0B;QACxC,IAAI,EAAE,YAAY;QAClB,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,GAAG,uBAAuB;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1C,IAAI,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;QACrD,cAAc,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;QACzC,gBAAgB;QAChB,MAAM;QACN,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QACzF,QAAQ,EAAE,aAAa;YACrB,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;KACxD,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IBaseComponent } from '@se-studio/core-data-types';
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { DefaultChainModifier, IContentfulRichText } from '../api';
|
|
4
|
+
import type { BaseComponentSkeleton } from '../baseTypes/baseComponent';
|
|
5
|
+
import { type ConverterContext } from './helpers';
|
|
6
|
+
export type IContentfulComponent = IBaseComponent & {
|
|
7
|
+
body?: IContentfulRichText | null;
|
|
8
|
+
additionalCopy?: IContentfulRichText | null;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Base converter for Contentful Component entries to IComponent type
|
|
12
|
+
*
|
|
13
|
+
* This is a minimal implementation that can be extended using
|
|
14
|
+
* the functional composition pattern.
|
|
15
|
+
*
|
|
16
|
+
* @param context - Converter context containing assets, includes, and resolvers
|
|
17
|
+
* @param entry - Contentful entry to convert
|
|
18
|
+
* @returns IComponent object
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const component = baseComponentConverter(context, contentfulEntry);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function baseComponentConverter(context: ConverterContext, entry: Entry<BaseComponentSkeleton, DefaultChainModifier, string>): IContentfulComponent;
|
|
26
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/converters/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC7C,CAAC;AACF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAChE,oBAAoB,CAuDtB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { arrayOrUndefined, notEmpty } from '../utils/index.js';
|
|
2
|
+
import { applyHideMobileBackgroundFlag, createResponsiveVisual, lookupMediaEntry } from './asset.js';
|
|
3
|
+
import { DEFAULT_POSITION_FIELDS, lookupAsset, lookupIconAsset, } from './helpers.js';
|
|
4
|
+
import { resolveLinks, resolveRichTextDocument } from './resolver.js';
|
|
5
|
+
/**
|
|
6
|
+
* Base converter for Contentful Component entries to IComponent type
|
|
7
|
+
*
|
|
8
|
+
* This is a minimal implementation that can be extended using
|
|
9
|
+
* the functional composition pattern.
|
|
10
|
+
*
|
|
11
|
+
* @param context - Converter context containing assets, includes, and resolvers
|
|
12
|
+
* @param entry - Contentful entry to convert
|
|
13
|
+
* @returns IComponent object
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const component = baseComponentConverter(context, contentfulEntry);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function baseComponentConverter(context, entry) {
|
|
21
|
+
const { sys, fields } = entry;
|
|
22
|
+
const { id } = sys;
|
|
23
|
+
// Destructure to exclude fields that need special handling
|
|
24
|
+
const {
|
|
25
|
+
// Fields requiring transformation
|
|
26
|
+
backgroundVisual: bgVisual, mobileBackgroundVisual: mobileBgVisual, visual: visualField, mobileVisual: mobileVisualField, icon: iconField, links: linksField, body: bodyField, additionalCopy: additionalCopyField,
|
|
27
|
+
// Field name change
|
|
28
|
+
showHeading, heading, otherMedia: otherMediaField, flags,
|
|
29
|
+
// Already handled elsewhere
|
|
30
|
+
cmsLabel, ...simpleFields // anchor, backgroundColour, textColour, preHeading, heading, postHeading, backgroundOverlayOpacity
|
|
31
|
+
} = fields;
|
|
32
|
+
// Convert background visuals to responsive visual
|
|
33
|
+
const backgroundVisual = applyHideMobileBackgroundFlag(createResponsiveVisual(lookupAsset(context, bgVisual), lookupAsset(context, mobileBgVisual)), flags);
|
|
34
|
+
const visual = createResponsiveVisual(lookupMediaEntry(context, visualField), lookupMediaEntry(context, mobileVisualField));
|
|
35
|
+
const otherMedia = otherMediaField?.map((media) => lookupAsset(context, media));
|
|
36
|
+
const component = {
|
|
37
|
+
type: 'Component',
|
|
38
|
+
id,
|
|
39
|
+
name: cmsLabel,
|
|
40
|
+
cmsLabel,
|
|
41
|
+
...DEFAULT_POSITION_FIELDS,
|
|
42
|
+
...simpleFields,
|
|
43
|
+
heading: showHeading ? heading : undefined,
|
|
44
|
+
body: resolveRichTextDocument(context, id, bodyField),
|
|
45
|
+
additionalCopy: resolveRichTextDocument(context, id, additionalCopyField),
|
|
46
|
+
icon: lookupIconAsset(context, iconField),
|
|
47
|
+
backgroundVisual,
|
|
48
|
+
visual,
|
|
49
|
+
links: resolveLinks(context, id, linksField),
|
|
50
|
+
otherMedia: arrayOrUndefined(otherMedia?.filter(notEmpty)),
|
|
51
|
+
};
|
|
52
|
+
return component;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/converters/component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAMnE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyB,EACzB,KAAiE;IAEjE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IAEnB,2DAA2D;IAC3D,MAAM;IACJ,kCAAkC;IAClC,gBAAgB,EAAE,QAAQ,EAC1B,sBAAsB,EAAE,cAAc,EACtC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,mBAAmB;IACnC,oBAAoB;IACpB,WAAW,EACX,OAAO,EACP,UAAU,EAAE,eAAe,EAC3B,KAAK;IACL,4BAA4B;IAC5B,QAAQ,EACR,GAAG,YAAY,CAAC,mGAAmG;MACpH,GAAG,MAAM,CAAC;IAEX,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,6BAA6B,CACpD,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAC5F,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,sBAAsB,CACnC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,EACtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC7C,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,MAAM,SAAS,GAAyB;QACtC,IAAI,EAAE,WAAW;QACjB,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,GAAG,uBAAuB;QAC1B,GAAG,YAAY;QACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1C,IAAI,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;QACrD,cAAc,EAAE,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;QACzC,gBAAgB;QAChB,MAAM;QACN,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC;QAC5C,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC3D,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { IBaseCustomType, IInternalLink } from '@se-studio/core-data-types';
|
|
2
|
+
import type { Entry } from 'contentful';
|
|
3
|
+
import type { DefaultChainModifier } from '../api';
|
|
4
|
+
import type { BaseCustomTypeSkeleton } from '../baseTypes/baseCustomType';
|
|
5
|
+
import { type ConverterContext } from './helpers';
|
|
6
|
+
/**
|
|
7
|
+
* Base converter for Contentful Custom Type entries to IBaseCustomType
|
|
8
|
+
*
|
|
9
|
+
* Custom types represent index pages for categories like Topics or Resources.
|
|
10
|
+
* They provide configuration for both the main index page and potentially
|
|
11
|
+
* individual entry pages.
|
|
12
|
+
*
|
|
13
|
+
* @param context - Converter context containing includes and assets
|
|
14
|
+
* @param entry - Contentful entry to convert
|
|
15
|
+
* @returns IBaseCustomType object
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const customType = baseCustomTypeConverter(context, contentfulEntry);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function baseCustomTypeConverter(context: ConverterContext, entry: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IBaseCustomType;
|
|
23
|
+
export declare function baseCustomTypeLinkConverter(context: ConverterContext, entry: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IInternalLink;
|
|
24
|
+
//# sourceMappingURL=customType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customType.d.ts","sourceRoot":"","sources":["../../src/converters/customType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAC;AAElG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,WAAW,CAAC;AAUnB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,eAAe,CA4FjB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,aAAa,CAgBf"}
|