@se-studio/contentful-rest-api 1.0.45 → 1.0.47

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.
Files changed (298) hide show
  1. package/CHANGELOG.md +416 -0
  2. package/dist/api/article-type.d.ts +37 -0
  3. package/dist/api/article-type.d.ts.map +1 -0
  4. package/dist/api/article-type.js +134 -0
  5. package/dist/api/article-type.js.map +1 -0
  6. package/dist/api/article.d.ts +32 -0
  7. package/dist/api/article.d.ts.map +1 -0
  8. package/dist/api/article.js +43 -0
  9. package/dist/api/article.js.map +1 -0
  10. package/dist/api/asset.d.ts +28 -0
  11. package/dist/api/asset.d.ts.map +1 -0
  12. package/dist/api/asset.js +55 -0
  13. package/dist/api/asset.js.map +1 -0
  14. package/dist/api/context.d.ts +24 -0
  15. package/dist/api/context.d.ts.map +1 -0
  16. package/dist/api/context.js +62 -0
  17. package/dist/api/context.js.map +1 -0
  18. package/dist/api/custom-type.d.ts +37 -0
  19. package/dist/api/custom-type.d.ts.map +1 -0
  20. package/dist/api/custom-type.js +44 -0
  21. package/dist/api/custom-type.js.map +1 -0
  22. package/dist/api/helpers.d.ts +73 -0
  23. package/dist/api/helpers.d.ts.map +1 -0
  24. package/dist/api/helpers.js +296 -0
  25. package/dist/api/helpers.js.map +1 -0
  26. package/dist/api/index.d.ts +22 -0
  27. package/dist/api/index.d.ts.map +1 -0
  28. package/dist/api/index.js +28 -0
  29. package/dist/api/index.js.map +1 -0
  30. package/dist/api/links.d.ts +109 -0
  31. package/dist/api/links.d.ts.map +1 -0
  32. package/dist/api/links.js +199 -0
  33. package/dist/api/links.js.map +1 -0
  34. package/dist/api/page.d.ts +33 -0
  35. package/dist/api/page.d.ts.map +1 -0
  36. package/dist/api/page.js +40 -0
  37. package/dist/api/page.js.map +1 -0
  38. package/dist/api/person.d.ts +37 -0
  39. package/dist/api/person.d.ts.map +1 -0
  40. package/dist/api/person.js +134 -0
  41. package/dist/api/person.js.map +1 -0
  42. package/dist/api/preview.d.ts +55 -0
  43. package/dist/api/preview.d.ts.map +1 -0
  44. package/dist/api/preview.js +160 -0
  45. package/dist/api/preview.js.map +1 -0
  46. package/dist/api/related-articles.d.ts +22 -0
  47. package/dist/api/related-articles.d.ts.map +1 -0
  48. package/dist/api/related-articles.js +82 -0
  49. package/dist/api/related-articles.js.map +1 -0
  50. package/dist/api/server-asset.d.ts +40 -0
  51. package/dist/api/server-asset.d.ts.map +1 -0
  52. package/dist/api/server-asset.js +65 -0
  53. package/dist/api/server-asset.js.map +1 -0
  54. package/dist/api/sitemap.d.ts +131 -0
  55. package/dist/api/sitemap.d.ts.map +1 -0
  56. package/dist/api/sitemap.js +199 -0
  57. package/dist/api/sitemap.js.map +1 -0
  58. package/dist/api/tag.d.ts +37 -0
  59. package/dist/api/tag.d.ts.map +1 -0
  60. package/dist/api/tag.js +131 -0
  61. package/dist/api/tag.js.map +1 -0
  62. package/dist/api/template.d.ts +49 -0
  63. package/dist/api/template.d.ts.map +1 -0
  64. package/dist/api/template.js +88 -0
  65. package/dist/api/template.js.map +1 -0
  66. package/dist/api/types.d.ts +98 -0
  67. package/dist/api/types.d.ts.map +1 -0
  68. package/dist/api/types.js +2 -0
  69. package/dist/api/types.js.map +1 -0
  70. package/dist/baseTypes/baseAlternatePageContent.d.ts +24 -0
  71. package/dist/baseTypes/baseAlternatePageContent.d.ts.map +1 -0
  72. package/dist/baseTypes/baseAlternatePageContent.js +2 -0
  73. package/dist/baseTypes/baseAlternatePageContent.js.map +1 -0
  74. package/dist/baseTypes/baseArticle.d.ts +179 -0
  75. package/dist/baseTypes/baseArticle.d.ts.map +1 -0
  76. package/dist/baseTypes/baseArticle.js +2 -0
  77. package/dist/baseTypes/baseArticle.js.map +1 -0
  78. package/dist/baseTypes/baseArticleType.d.ts +156 -0
  79. package/dist/baseTypes/baseArticleType.d.ts.map +1 -0
  80. package/dist/baseTypes/baseArticleType.js +2 -0
  81. package/dist/baseTypes/baseArticleType.js.map +1 -0
  82. package/dist/baseTypes/baseBanner.d.ts +76 -0
  83. package/dist/baseTypes/baseBanner.d.ts.map +1 -0
  84. package/dist/baseTypes/baseBanner.js +2 -0
  85. package/dist/baseTypes/baseBanner.js.map +1 -0
  86. package/dist/baseTypes/baseCollection.d.ts +132 -0
  87. package/dist/baseTypes/baseCollection.d.ts.map +1 -0
  88. package/dist/baseTypes/baseCollection.js +2 -0
  89. package/dist/baseTypes/baseCollection.js.map +1 -0
  90. package/dist/baseTypes/baseComponent.d.ts +130 -0
  91. package/dist/baseTypes/baseComponent.d.ts.map +1 -0
  92. package/dist/baseTypes/baseComponent.js +2 -0
  93. package/dist/baseTypes/baseComponent.js.map +1 -0
  94. package/dist/baseTypes/baseCustomType.d.ts +126 -0
  95. package/dist/baseTypes/baseCustomType.d.ts.map +1 -0
  96. package/dist/baseTypes/baseCustomType.js +2 -0
  97. package/dist/baseTypes/baseCustomType.js.map +1 -0
  98. package/dist/baseTypes/baseExternalComponent.d.ts +66 -0
  99. package/dist/baseTypes/baseExternalComponent.d.ts.map +1 -0
  100. package/dist/baseTypes/baseExternalComponent.js +2 -0
  101. package/dist/baseTypes/baseExternalComponent.js.map +1 -0
  102. package/dist/baseTypes/baseExternalVideo.d.ts +85 -0
  103. package/dist/baseTypes/baseExternalVideo.d.ts.map +1 -0
  104. package/dist/baseTypes/baseExternalVideo.js +2 -0
  105. package/dist/baseTypes/baseExternalVideo.js.map +1 -0
  106. package/dist/baseTypes/baseLink.d.ts +90 -0
  107. package/dist/baseTypes/baseLink.d.ts.map +1 -0
  108. package/dist/baseTypes/baseLink.js +2 -0
  109. package/dist/baseTypes/baseLink.js.map +1 -0
  110. package/dist/baseTypes/baseMedia.d.ts +92 -0
  111. package/dist/baseTypes/baseMedia.d.ts.map +1 -0
  112. package/dist/baseTypes/baseMedia.js +2 -0
  113. package/dist/baseTypes/baseMedia.js.map +1 -0
  114. package/dist/baseTypes/baseNavigation.d.ts +36 -0
  115. package/dist/baseTypes/baseNavigation.d.ts.map +1 -0
  116. package/dist/baseTypes/baseNavigation.js +2 -0
  117. package/dist/baseTypes/baseNavigation.js.map +1 -0
  118. package/dist/baseTypes/baseNavigationItem.d.ts +96 -0
  119. package/dist/baseTypes/baseNavigationItem.d.ts.map +1 -0
  120. package/dist/baseTypes/baseNavigationItem.js +2 -0
  121. package/dist/baseTypes/baseNavigationItem.js.map +1 -0
  122. package/dist/baseTypes/basePage.d.ts +120 -0
  123. package/dist/baseTypes/basePage.d.ts.map +1 -0
  124. package/dist/baseTypes/basePage.js +2 -0
  125. package/dist/baseTypes/basePage.js.map +1 -0
  126. package/dist/baseTypes/basePageTest.d.ts +66 -0
  127. package/dist/baseTypes/basePageTest.d.ts.map +1 -0
  128. package/dist/baseTypes/basePageTest.js +2 -0
  129. package/dist/baseTypes/basePageTest.js.map +1 -0
  130. package/dist/baseTypes/basePageVariant.d.ts +123 -0
  131. package/dist/baseTypes/basePageVariant.d.ts.map +1 -0
  132. package/dist/baseTypes/basePageVariant.js +2 -0
  133. package/dist/baseTypes/basePageVariant.js.map +1 -0
  134. package/dist/baseTypes/basePerson.d.ts +111 -0
  135. package/dist/baseTypes/basePerson.d.ts.map +1 -0
  136. package/dist/baseTypes/basePerson.js +2 -0
  137. package/dist/baseTypes/basePerson.js.map +1 -0
  138. package/dist/baseTypes/baseSchema.d.ts +18 -0
  139. package/dist/baseTypes/baseSchema.d.ts.map +1 -0
  140. package/dist/baseTypes/baseSchema.js +2 -0
  141. package/dist/baseTypes/baseSchema.js.map +1 -0
  142. package/dist/baseTypes/baseShared.d.ts +30 -0
  143. package/dist/baseTypes/baseShared.d.ts.map +1 -0
  144. package/dist/baseTypes/baseShared.js +2 -0
  145. package/dist/baseTypes/baseShared.js.map +1 -0
  146. package/dist/baseTypes/baseTag.d.ts +108 -0
  147. package/dist/baseTypes/baseTag.d.ts.map +1 -0
  148. package/dist/baseTypes/baseTag.js +2 -0
  149. package/dist/baseTypes/baseTag.js.map +1 -0
  150. package/dist/baseTypes/baseTagType.d.ts +11 -0
  151. package/dist/baseTypes/baseTagType.d.ts.map +1 -0
  152. package/dist/baseTypes/baseTagType.js +2 -0
  153. package/dist/baseTypes/baseTagType.js.map +1 -0
  154. package/dist/baseTypes/baseTemplate.d.ts +55 -0
  155. package/dist/baseTypes/baseTemplate.d.ts.map +1 -0
  156. package/dist/baseTypes/baseTemplate.js +2 -0
  157. package/dist/baseTypes/baseTemplate.js.map +1 -0
  158. package/dist/client.d.ts +143 -0
  159. package/dist/client.d.ts.map +1 -0
  160. package/dist/client.js +268 -0
  161. package/dist/client.js.map +1 -0
  162. package/dist/converters/article.d.ts +42 -0
  163. package/dist/converters/article.d.ts.map +1 -0
  164. package/dist/converters/article.js +220 -0
  165. package/dist/converters/article.js.map +1 -0
  166. package/dist/converters/asset.d.ts +22 -0
  167. package/dist/converters/asset.d.ts.map +1 -0
  168. package/dist/converters/asset.js +282 -0
  169. package/dist/converters/asset.js.map +1 -0
  170. package/dist/converters/collection.d.ts +26 -0
  171. package/dist/converters/collection.d.ts.map +1 -0
  172. package/dist/converters/collection.js +50 -0
  173. package/dist/converters/collection.js.map +1 -0
  174. package/dist/converters/component.d.ts +26 -0
  175. package/dist/converters/component.d.ts.map +1 -0
  176. package/dist/converters/component.js +54 -0
  177. package/dist/converters/component.js.map +1 -0
  178. package/dist/converters/customType.d.ts +24 -0
  179. package/dist/converters/customType.d.ts.map +1 -0
  180. package/dist/converters/customType.js +71 -0
  181. package/dist/converters/customType.js.map +1 -0
  182. package/dist/converters/externalComponent.d.ts +22 -0
  183. package/dist/converters/externalComponent.d.ts.map +1 -0
  184. package/dist/converters/externalComponent.js +34 -0
  185. package/dist/converters/externalComponent.js.map +1 -0
  186. package/dist/converters/helpers.d.ts +116 -0
  187. package/dist/converters/helpers.d.ts.map +1 -0
  188. package/dist/converters/helpers.js +128 -0
  189. package/dist/converters/helpers.js.map +1 -0
  190. package/dist/converters/iconCollector.d.ts +65 -0
  191. package/dist/converters/iconCollector.d.ts.map +1 -0
  192. package/dist/converters/iconCollector.js +282 -0
  193. package/dist/converters/iconCollector.js.map +1 -0
  194. package/dist/converters/index.d.ts +18 -0
  195. package/dist/converters/index.d.ts.map +1 -0
  196. package/dist/converters/index.js +18 -0
  197. package/dist/converters/index.js.map +1 -0
  198. package/dist/converters/link.d.ts +11 -0
  199. package/dist/converters/link.d.ts.map +1 -0
  200. package/dist/converters/link.js +96 -0
  201. package/dist/converters/link.js.map +1 -0
  202. package/dist/converters/navigationItem.d.ts +11 -0
  203. package/dist/converters/navigationItem.d.ts.map +1 -0
  204. package/dist/converters/navigationItem.js +73 -0
  205. package/dist/converters/navigationItem.js.map +1 -0
  206. package/dist/converters/page.d.ts +44 -0
  207. package/dist/converters/page.d.ts.map +1 -0
  208. package/dist/converters/page.js +121 -0
  209. package/dist/converters/page.js.map +1 -0
  210. package/dist/converters/person.d.ts +40 -0
  211. package/dist/converters/person.d.ts.map +1 -0
  212. package/dist/converters/person.js +109 -0
  213. package/dist/converters/person.js.map +1 -0
  214. package/dist/converters/resolver.d.ts +29 -0
  215. package/dist/converters/resolver.d.ts.map +1 -0
  216. package/dist/converters/resolver.js +317 -0
  217. package/dist/converters/resolver.js.map +1 -0
  218. package/dist/converters/schema.d.ts +14 -0
  219. package/dist/converters/schema.d.ts.map +1 -0
  220. package/dist/converters/schema.js +18 -0
  221. package/dist/converters/schema.js.map +1 -0
  222. package/dist/converters/svgProcessor.d.ts +23 -0
  223. package/dist/converters/svgProcessor.d.ts.map +1 -0
  224. package/dist/converters/svgProcessor.js +47 -0
  225. package/dist/converters/svgProcessor.js.map +1 -0
  226. package/dist/converters/tag.d.ts +25 -0
  227. package/dist/converters/tag.d.ts.map +1 -0
  228. package/dist/converters/tag.js +98 -0
  229. package/dist/converters/tag.js.map +1 -0
  230. package/dist/converters/template.d.ts +26 -0
  231. package/dist/converters/template.d.ts.map +1 -0
  232. package/dist/converters/template.js +44 -0
  233. package/dist/converters/template.js.map +1 -0
  234. package/dist/index.d.ts +28 -718
  235. package/dist/index.d.ts.map +1 -0
  236. package/dist/index.js +37 -3602
  237. package/dist/index.js.map +1 -1
  238. package/dist/revalidation/handlers.d.ts +52 -0
  239. package/dist/revalidation/handlers.d.ts.map +1 -0
  240. package/dist/revalidation/handlers.js +130 -0
  241. package/dist/revalidation/handlers.js.map +1 -0
  242. package/dist/revalidation/index.d.ts +3 -0
  243. package/dist/revalidation/index.d.ts.map +1 -0
  244. package/dist/revalidation/index.js +4 -0
  245. package/dist/revalidation/index.js.map +1 -0
  246. package/dist/revalidation/nextjs-route.d.ts +31 -0
  247. package/dist/revalidation/nextjs-route.d.ts.map +1 -0
  248. package/dist/revalidation/nextjs-route.js +34 -0
  249. package/dist/revalidation/nextjs-route.js.map +1 -0
  250. package/dist/revalidation/route.d.ts +3 -0
  251. package/dist/revalidation/route.d.ts.map +1 -0
  252. package/dist/revalidation/route.js +97 -0
  253. package/dist/revalidation/route.js.map +1 -0
  254. package/dist/revalidation/server-utils.d.ts +22 -0
  255. package/dist/revalidation/server-utils.d.ts.map +1 -0
  256. package/dist/revalidation/server-utils.js +41 -0
  257. package/dist/revalidation/server-utils.js.map +1 -0
  258. package/dist/revalidation/tags.d.ts +81 -0
  259. package/dist/revalidation/tags.d.ts.map +1 -0
  260. package/dist/revalidation/tags.js +117 -0
  261. package/dist/revalidation/tags.js.map +1 -0
  262. package/dist/revalidation/utils.d.ts +21 -0
  263. package/dist/revalidation/utils.d.ts.map +1 -0
  264. package/dist/revalidation/utils.js +51 -0
  265. package/dist/revalidation/utils.js.map +1 -0
  266. package/dist/server.d.ts +7 -0
  267. package/dist/server.d.ts.map +1 -0
  268. package/dist/server.js +10 -0
  269. package/dist/server.js.map +1 -0
  270. package/dist/types.d.ts +67 -0
  271. package/dist/types.d.ts.map +1 -0
  272. package/dist/types.js +2 -0
  273. package/dist/types.js.map +1 -0
  274. package/dist/utils/arrayUtils.d.ts +3 -0
  275. package/dist/utils/arrayUtils.d.ts.map +1 -0
  276. package/dist/utils/arrayUtils.js +12 -0
  277. package/dist/utils/arrayUtils.js.map +1 -0
  278. package/dist/utils/dateUtils.d.ts +9 -0
  279. package/dist/utils/dateUtils.d.ts.map +1 -0
  280. package/dist/utils/dateUtils.js +26 -0
  281. package/dist/utils/dateUtils.js.map +1 -0
  282. package/dist/utils/errors.d.ts +56 -0
  283. package/dist/utils/errors.d.ts.map +1 -0
  284. package/dist/utils/errors.js +100 -0
  285. package/dist/utils/errors.js.map +1 -0
  286. package/dist/utils/index.d.ts +8 -0
  287. package/dist/utils/index.d.ts.map +1 -0
  288. package/dist/utils/index.js +8 -0
  289. package/dist/utils/index.js.map +1 -0
  290. package/dist/utils/json-utils.d.ts +17 -0
  291. package/dist/utils/json-utils.d.ts.map +1 -0
  292. package/dist/utils/json-utils.js +43 -0
  293. package/dist/utils/json-utils.js.map +1 -0
  294. package/dist/utils/retry.d.ts +112 -0
  295. package/dist/utils/retry.d.ts.map +1 -0
  296. package/dist/utils/retry.js +221 -0
  297. package/dist/utils/retry.js.map +1 -0
  298. package/package.json +12 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { IArticleLink, IArticleTypeLink, IBaseArticle, IBaseArticleType } from '@se-studio/core-data-types';
2
+ import type { Entry } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseArticleSkeleton } from '../baseTypes/baseArticle';
5
+ import type { BaseArticleTypeSkeleton } from '../baseTypes/baseArticleType';
6
+ import type { BaseCustomTypeSkeleton } from '../baseTypes/baseCustomType';
7
+ import { type ConverterContext } from './helpers';
8
+ /**
9
+ * Base converter for Contentful Article entries to IArticle type
10
+ *
11
+ * This is a minimal implementation that can be extended using
12
+ * the functional composition pattern.
13
+ *
14
+ * @param entry - Contentful entry to convert
15
+ * @returns IArticle object
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const article = baseArticleConverter(contentfulEntry);
20
+ * ```
21
+ */
22
+ export declare function baseArticleConverter(context: ConverterContext, entry: Entry<BaseArticleSkeleton, DefaultChainModifier, string>): IBaseArticle;
23
+ export declare function baseArticleLinkConverter(context: ConverterContext, entry: Entry<BaseArticleSkeleton, DefaultChainModifier, string>): IArticleLink;
24
+ export declare function baseArticleTypeLinkConverter(context: ConverterContext, entry: Entry<BaseArticleTypeSkeleton, DefaultChainModifier, string>): IArticleTypeLink;
25
+ /**
26
+ * Base converter for Contentful Article Type entries to IArticleType type
27
+ *
28
+ * This is a minimal implementation that can be extended using
29
+ * the functional composition pattern.
30
+ *
31
+ * @param context - Converter context containing includes
32
+ * @param entry - Contentful entry to convert
33
+ * @param customTypeEntry - Optional custom type entry that defines templates and navigation
34
+ * @returns IBaseArticleType object
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const articleType = baseArticleTypeConverter(context, contentfulEntry, customTypeEntry);
39
+ * ```
40
+ */
41
+ export declare function baseArticleTypeConverter(context: ConverterContext, entry: Entry<BaseArticleTypeSkeleton, DefaultChainModifier, string>, customTypeEntry?: Entry<BaseCustomTypeSkeleton, DefaultChainModifier, string>): IBaseArticleType;
42
+ //# sourceMappingURL=article.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAIjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,WAAW,CAAC;AAgDnB;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,YAAY,CAkFd;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,YAAY,CAuCd;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAClE,gBAAgB,CAwBlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,EACnE,eAAe,CAAC,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5E,gBAAgB,CA0FlB"}
@@ -0,0 +1,220 @@
1
+ import { addPositionMetadata, calculateContentCount, createInternalLink, lookupAsset, lookupDownloadAsset, makeContentfulDescription, makeContentfulTitle, } from './helpers';
2
+ import { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, } from './iconCollector';
3
+ import { resolveNavigation } from './navigationItem';
4
+ import { resolveLink, resolvePageContent, resolveSchema } from './resolver';
5
+ import { resolveTemplate } from './template';
6
+ /**
7
+ * Resolves the article template using a hierarchy:
8
+ * 1. Article's explicit template field (if set)
9
+ * 2. ArticleType's articleTemplate field (if set)
10
+ *
11
+ * @param context - Converter context containing includes
12
+ * @param articleTypeLink - Link to the article's ArticleType
13
+ * @param directTemplateLink - Optional direct template link from the article
14
+ * @returns Resolved template or null if no template found in hierarchy
15
+ */
16
+ function resolveArticleTemplateHierarchy(context, articleTypeLink, directTemplateLink) {
17
+ // Direct template on article takes precedence
18
+ if (directTemplateLink) {
19
+ return resolveTemplate(context, directTemplateLink);
20
+ }
21
+ // Fall back to articleType's articleTemplate
22
+ const articleTypeEntry = context.includes.get(articleTypeLink.sys.id);
23
+ if (!articleTypeEntry) {
24
+ console.warn(`ArticleType entry not found for id: ${articleTypeLink.sys.id}`);
25
+ return null;
26
+ }
27
+ const articleTypeFields = articleTypeEntry.entry.fields;
28
+ if (articleTypeFields?.articleTemplate) {
29
+ return resolveTemplate(context, articleTypeFields.articleTemplate);
30
+ }
31
+ return null;
32
+ }
33
+ /**
34
+ * Base converter for Contentful Article entries to IArticle type
35
+ *
36
+ * This is a minimal implementation that can be extended using
37
+ * the functional composition pattern.
38
+ *
39
+ * @param entry - Contentful entry to convert
40
+ * @returns IArticle object
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const article = baseArticleConverter(contentfulEntry);
45
+ * ```
46
+ */
47
+ export function baseArticleConverter(context, entry) {
48
+ const { sys, fields } = entry;
49
+ const { id } = sys;
50
+ const { slug, title, description, featuredImage, tags, content, template: templateLink, topContent: topContentLinks, bottomContent: bottomContentLinks, articleType, structuredData, ...simpleFields } = fields;
51
+ const articleTypeLink = resolveLink(context, id, articleType);
52
+ // Resolve template with hierarchy (article template → articleType template)
53
+ const template = resolveArticleTemplateHierarchy(context, articleType, templateLink);
54
+ // Resolve all content sections
55
+ const topContent = topContentLinks
56
+ ?.map((c) => resolvePageContent(context, id, c))
57
+ .filter((item) => item !== null) ?? [];
58
+ const articleContent = content
59
+ ?.map((c) => resolvePageContent(context, id, c))
60
+ .filter((item) => item !== null) ?? [];
61
+ const bottomContent = bottomContentLinks
62
+ ?.map((c) => resolvePageContent(context, id, c))
63
+ .filter((item) => item !== null) ?? [];
64
+ const preContent = template?.preContent ?? [];
65
+ const postContent = template?.postContent ?? [];
66
+ // Merge in correct order and add position metadata
67
+ const contents = addPositionMetadata([
68
+ ...topContent,
69
+ ...preContent,
70
+ ...articleContent,
71
+ ...postContent,
72
+ ...bottomContent,
73
+ ]);
74
+ // Determine final menu and footer (from template)
75
+ const finalMenu = template?.menu;
76
+ const finalFooter = template?.footer;
77
+ // Collect and deduplicate all SVG icons from article content and navigation
78
+ const icons = deduplicateIcons(collectIconsFromContent(contents), collectIconsFromNavigation(finalMenu), collectIconsFromNavigation(finalFooter));
79
+ const articleTitle = makeContentfulTitle(title, sys.id);
80
+ const article = {
81
+ type: 'Article',
82
+ id,
83
+ slug,
84
+ name: articleTitle,
85
+ title: articleTitle,
86
+ description: makeContentfulDescription(description, sys.id),
87
+ featuredImage: lookupAsset(context, featuredImage),
88
+ contentCount: calculateContentCount(topContent, articleContent, bottomContent),
89
+ articleType: articleTypeLink,
90
+ tags: tags?.map((tag) => resolveLink(context, id, tag)),
91
+ contents,
92
+ icons,
93
+ structuredData: structuredData
94
+ ?.map((link) => resolveSchema(context, id, link))
95
+ .filter((item) => item !== null),
96
+ ...simpleFields,
97
+ // Note: summary field exists in Contentful but is not part of IArticle interface
98
+ // Keeping it in simpleFields for potential future use
99
+ menu: finalMenu,
100
+ footer: finalFooter,
101
+ };
102
+ return article;
103
+ }
104
+ export function baseArticleLinkConverter(context, entry) {
105
+ const { sys, fields } = entry;
106
+ if (sys.contentType.sys.id !== 'article') {
107
+ throw new Error(`Invalid content type: expected "article", got "${sys.contentType.sys.id}"`);
108
+ }
109
+ const { articleType: fieldsArticleType, tags: fieldsTags, author: fieldsAuthor, date, externalLink, download: fieldsDownload, ...simpleFields } = fields;
110
+ const articleType = resolveLink(context, sys.id, fieldsArticleType);
111
+ const tags = fieldsTags?.map((tag) => resolveLink(context, sys.id, tag));
112
+ const primaryTag = tags?.[0] ?? undefined;
113
+ const author = fieldsAuthor ? resolveLink(context, sys.id, fieldsAuthor) : undefined;
114
+ const download = lookupDownloadAsset(context, fieldsDownload);
115
+ const href = externalLink
116
+ ? externalLink
117
+ : context.urlCalculators.article(articleType.slug, fields.slug, primaryTag?.slug);
118
+ return createInternalLink(sys.id, { ...simpleFields, name: fields.cmsLabel }, context, href, 'Article', {
119
+ tags,
120
+ primaryTag,
121
+ articleType,
122
+ date,
123
+ author,
124
+ download,
125
+ });
126
+ }
127
+ export function baseArticleTypeLinkConverter(context, entry) {
128
+ const { sys, fields } = entry;
129
+ if (sys.contentType.sys.id !== 'articleType') {
130
+ throw new Error(`Invalid content type: expected "articleType", got "${sys.contentType.sys.id}"`);
131
+ }
132
+ const { name, cmsLabel, featuredImage, slug, ...simpleFields } = fields;
133
+ return createInternalLink(sys.id, {
134
+ cmsLabel,
135
+ name,
136
+ title: name,
137
+ featuredImage,
138
+ slug,
139
+ ...simpleFields,
140
+ }, context, context.urlCalculators.articleType(slug), 'ArticleType');
141
+ }
142
+ /**
143
+ * Base converter for Contentful Article Type entries to IArticleType type
144
+ *
145
+ * This is a minimal implementation that can be extended using
146
+ * the functional composition pattern.
147
+ *
148
+ * @param context - Converter context containing includes
149
+ * @param entry - Contentful entry to convert
150
+ * @param customTypeEntry - Optional custom type entry that defines templates and navigation
151
+ * @returns IBaseArticleType object
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * const articleType = baseArticleTypeConverter(context, contentfulEntry, customTypeEntry);
156
+ * ```
157
+ */
158
+ export function baseArticleTypeConverter(context, entry, customTypeEntry) {
159
+ const { sys, fields } = entry;
160
+ const { id } = sys;
161
+ const { name, indexPageDescription, indexPageTitle, featuredImage, menu: menuLink, footer: footerLink, indexPageTemplate: templateLink, indexPageTopContent: topContentLinks, structuredData, indexPageStructuredData, slug, ...other } = fields;
162
+ // Resolve custom type (if provided)
163
+ const customType = customTypeEntry
164
+ ? context.customTypeResolver(context, customTypeEntry)
165
+ : undefined;
166
+ // Resolve template (ArticleType template > Custom Type template)
167
+ let template = templateLink ? resolveTemplate(context, templateLink) : null;
168
+ if (!template && customTypeEntry?.fields.template) {
169
+ template = resolveTemplate(context, customTypeEntry.fields.template);
170
+ }
171
+ // Resolve navigation (ArticleType > Custom Type > Template)
172
+ const menu = menuLink
173
+ ? resolveNavigation(context, menuLink)
174
+ : customTypeEntry?.fields.menu
175
+ ? resolveNavigation(context, customTypeEntry.fields.menu)
176
+ : template?.menu;
177
+ const footer = footerLink
178
+ ? resolveNavigation(context, footerLink)
179
+ : customTypeEntry?.fields.footer
180
+ ? resolveNavigation(context, customTypeEntry.fields.footer)
181
+ : template?.footer;
182
+ // Resolve all content sections
183
+ const topContent = topContentLinks
184
+ ?.map((c) => resolvePageContent(context, id, c))
185
+ .filter((item) => item !== null) ?? [];
186
+ const preContent = template?.preContent ?? [];
187
+ const postContent = template?.postContent ?? [];
188
+ // Merge in correct order and add position metadata
189
+ const contents = addPositionMetadata([...topContent, ...preContent, ...postContent]);
190
+ // Determine final menu and footer (articleType-level overrides template)
191
+ const finalMenu = menu;
192
+ const finalFooter = footer;
193
+ // Collect and deduplicate all SVG icons from article type content and navigation
194
+ const icons = deduplicateIcons(collectIconsFromContent(contents), collectIconsFromNavigation(finalMenu), collectIconsFromNavigation(finalFooter));
195
+ const articleType = {
196
+ type: 'Article type',
197
+ id,
198
+ slug,
199
+ name,
200
+ title: makeContentfulTitle(indexPageTitle, sys.id),
201
+ description: makeContentfulDescription(indexPageDescription, sys.id),
202
+ featuredImage: lookupAsset(context, featuredImage),
203
+ contentCount: 0,
204
+ contents,
205
+ icons,
206
+ structuredData: [
207
+ ...(structuredData?.map((link) => resolveSchema(context, id, link)) ?? []),
208
+ ...(indexPageStructuredData?.map((link) => resolveSchema(context, id, link)) ?? []),
209
+ ].filter((item) => item !== null),
210
+ menu: finalMenu,
211
+ footer: finalFooter,
212
+ ...other,
213
+ };
214
+ if (customType) {
215
+ // @ts-expect-error - customType is not yet in IBaseArticleType but might be added later or intersection type used
216
+ articleType.customType = customType;
217
+ }
218
+ return articleType;
219
+ }
220
+ //# sourceMappingURL=article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { IAnimation, IImage, IResponsiveVisual, IVideo, IVisual } from '@se-studio/core-data-types';
2
+ import type { Asset, Entry, UnresolvedLink } from 'contentful';
3
+ import type { DefaultChainModifier } from '../api';
4
+ import type { BaseExternalVideoSkeleton } from '../baseTypes/baseExternalVideo';
5
+ import type { BaseMediaSkeleton } from '../baseTypes/baseMedia';
6
+ import type { BaseConverterContext, ConverterContext } from './helpers';
7
+ export declare function convertAssetToVisual(context: BaseConverterContext, asset?: Asset<DefaultChainModifier, string>, options?: Partial<IImage> | Partial<IVideo> | Partial<IAnimation>): IVisual | undefined;
8
+ export declare function createResponsiveVisual(visual: IVisual | undefined, mobileVisual: IVisual | undefined, customSize?: number | null): IResponsiveVisual | undefined;
9
+ /**
10
+ * Converts a baseMedia entry to IVisual by looking up the asset and merging metadata.
11
+ * Resolves mask from either maskImage asset or mask dropdown via project's maskResolver.
12
+ */
13
+ export declare function convertMediaEntryToVisual(context: ConverterContext, entry: Entry<BaseMediaSkeleton, DefaultChainModifier, string>): IVisual | undefined;
14
+ /**
15
+ * Converts a baseExternalVideo entry to IVisual with external video
16
+ */
17
+ export declare function convertExternalVideoEntryToVisual(context: ConverterContext, entry: Entry<BaseExternalVideoSkeleton, DefaultChainModifier, string>): IVisual | undefined;
18
+ /**
19
+ * Looks up and converts a media or external video entry from an unresolved link
20
+ */
21
+ export declare function lookupMediaEntry(context: ConverterContext, link: UnresolvedLink<'Entry'> | undefined): IVisual | undefined;
22
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/converters/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EAEN,iBAAiB,EAEjB,MAAM,EAEN,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAoC,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAQxE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAC3C,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAChE,OAAO,GAAG,SAAS,CAkDrB;AAyID,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,YAAY,EAAE,OAAO,GAAG,SAAS,EACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,iBAAiB,GAAG,SAAS,CAO/B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5D,OAAO,GAAG,SAAS,CAyDrB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACpE,OAAO,GAAG,SAAS,CA8CrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GACxC,OAAO,GAAG,SAAS,CA2BrB"}
@@ -0,0 +1,282 @@
1
+ import { lookupAsset, makeContentfulDescription, makeContentfulTitle, stringOrUndefined, } from './helpers';
2
+ export function convertAssetToVisual(context, asset, options) {
3
+ if (!asset)
4
+ return undefined;
5
+ const { fields, sys } = asset;
6
+ if (!fields)
7
+ return undefined;
8
+ const { id } = sys;
9
+ const { file } = fields;
10
+ if (!file)
11
+ return undefined;
12
+ const { contentType } = file;
13
+ if (contentType?.startsWith('image/')) {
14
+ const image = convertAssetToImage(file, fields, sys, options);
15
+ if (!image)
16
+ return undefined;
17
+ return {
18
+ id,
19
+ type: 'Visual',
20
+ image,
21
+ };
22
+ }
23
+ if (contentType?.startsWith('video/')) {
24
+ const video = convertAssetToVideo(file, fields, sys, context, options);
25
+ if (!video)
26
+ return undefined;
27
+ return {
28
+ id,
29
+ type: 'Visual',
30
+ video,
31
+ };
32
+ }
33
+ if (contentType === 'application/json') {
34
+ const animation = convertAssetToAnimation(file, fields, sys, options);
35
+ if (!animation)
36
+ return undefined;
37
+ return {
38
+ id,
39
+ type: 'Visual',
40
+ animation,
41
+ };
42
+ }
43
+ return undefined;
44
+ }
45
+ function convertAssetToAnimation(file, fields, sys, options) {
46
+ const { id } = sys;
47
+ const { title, description } = fields;
48
+ const { url } = file;
49
+ if (!url)
50
+ return undefined;
51
+ return {
52
+ ...options,
53
+ id,
54
+ type: 'Animation',
55
+ animationSrc: `https:${url}`,
56
+ name: makeContentfulTitle(title, id),
57
+ description: stringOrUndefined(description),
58
+ };
59
+ }
60
+ function convertAssetToImage(file, fields, sys, options) {
61
+ const { contentType } = file;
62
+ if (contentType === 'image/svg+xml') {
63
+ return convertAssetToSvgImage(file, fields, sys, options);
64
+ }
65
+ else {
66
+ return convertAssetToPicture(file, fields, sys, options);
67
+ }
68
+ }
69
+ function convertAssetToPicture(file, fields, sys, options) {
70
+ const { id } = sys;
71
+ const { title, description } = fields;
72
+ const { contentType, details, url } = file;
73
+ if (!details)
74
+ return undefined;
75
+ const { size, image } = details;
76
+ const { width, height } = image || {};
77
+ return {
78
+ ...options,
79
+ id,
80
+ type: 'Picture',
81
+ src: `https:${url}`,
82
+ mimeType: contentType,
83
+ size,
84
+ width: width || 0,
85
+ height: height || 0,
86
+ name: makeContentfulTitle(title, id),
87
+ description: makeContentfulDescription(description, id),
88
+ };
89
+ }
90
+ function convertAssetToSvgImage(file, fields, sys, options) {
91
+ const { id } = sys;
92
+ const { title, description } = fields;
93
+ const { contentType, details, url } = file;
94
+ if (!details)
95
+ return undefined;
96
+ const { size, image } = details;
97
+ const { width, height } = image || {};
98
+ return {
99
+ ...options,
100
+ id,
101
+ type: 'Svg image',
102
+ svgSrc: `https:${url}`,
103
+ mimeType: contentType,
104
+ size,
105
+ width: width || 0,
106
+ height: height || 0,
107
+ name: makeContentfulTitle(title, id),
108
+ description: stringOrUndefined(description),
109
+ };
110
+ }
111
+ function convertAssetToVideoDetails(file, sys) {
112
+ const { id } = sys;
113
+ const { details, url, contentType, fileName } = file;
114
+ if (!details)
115
+ return undefined;
116
+ const { size } = details;
117
+ return {
118
+ id,
119
+ videoUrl: `https:${url}`,
120
+ size,
121
+ mimeType: contentType,
122
+ fileName,
123
+ };
124
+ }
125
+ function convertAssetToVideo(file, fields, sys, context, options) {
126
+ const { id } = sys;
127
+ const { title, description } = fields;
128
+ const { details } = file;
129
+ if (!details) {
130
+ return undefined;
131
+ }
132
+ const { image } = details;
133
+ const { width, height } = image || {};
134
+ const videoDetails = convertAssetToVideoDetails(file, sys);
135
+ if (!videoDetails)
136
+ return undefined;
137
+ return {
138
+ ...options,
139
+ id,
140
+ type: 'Local video',
141
+ preview: videoDetails,
142
+ videoPrefix: context.videoPrefix,
143
+ width: width || 0,
144
+ height: height || 0,
145
+ name: makeContentfulTitle(title, id),
146
+ description: makeContentfulDescription(description, id),
147
+ };
148
+ }
149
+ export function createResponsiveVisual(visual, mobileVisual, customSize) {
150
+ if (!visual)
151
+ return undefined;
152
+ return {
153
+ visual,
154
+ mobileVisual,
155
+ visualCustomSize: customSize,
156
+ };
157
+ }
158
+ /**
159
+ * Converts a baseMedia entry to IVisual by looking up the asset and merging metadata.
160
+ * Resolves mask from either maskImage asset or mask dropdown via project's maskResolver.
161
+ */
162
+ export function convertMediaEntryToVisual(context, entry) {
163
+ const { fields, sys } = entry;
164
+ if (!fields)
165
+ return undefined;
166
+ // Lookup the asset from context
167
+ const baseVisual = lookupAsset(context, fields.asset);
168
+ if (!baseVisual)
169
+ return undefined;
170
+ // Destructure mask fields separately so they don't go into metadata
171
+ const { name, mask: maskDropdown, maskImage, ...otherFields } = fields;
172
+ // Resolve mask: custom maskImage takes precedence over dropdown
173
+ let mask;
174
+ if (maskImage) {
175
+ // Custom SVG mask from asset
176
+ const maskVisual = lookupAsset(context, maskImage);
177
+ if (maskVisual?.image?.type === 'Svg image') {
178
+ mask = maskVisual.image.svgSrc;
179
+ }
180
+ else if (maskVisual?.image?.type === 'Picture') {
181
+ mask = maskVisual.image.src;
182
+ }
183
+ }
184
+ else if (maskDropdown && context.maskResolver) {
185
+ // Predefined mask from dropdown
186
+ mask = context.maskResolver(maskDropdown);
187
+ }
188
+ // Extract metadata from the media entry
189
+ const metadata = {
190
+ name: makeContentfulTitle(name, sys.id),
191
+ ...otherFields,
192
+ };
193
+ // Merge metadata into the image or video
194
+ const visual = {
195
+ ...baseVisual,
196
+ id: sys.id,
197
+ mask,
198
+ };
199
+ if (baseVisual.image) {
200
+ visual.image = {
201
+ ...baseVisual.image,
202
+ ...metadata,
203
+ };
204
+ }
205
+ else if (baseVisual.video) {
206
+ visual.video = {
207
+ ...baseVisual.video,
208
+ ...metadata,
209
+ };
210
+ }
211
+ else if (baseVisual.animation) {
212
+ visual.animation = {
213
+ ...baseVisual.animation,
214
+ ...metadata,
215
+ };
216
+ }
217
+ return visual;
218
+ }
219
+ /**
220
+ * Converts a baseExternalVideo entry to IVisual with external video
221
+ */
222
+ export function convertExternalVideoEntryToVisual(context, entry) {
223
+ const { fields, sys } = entry;
224
+ if (!fields || !fields.url)
225
+ return undefined;
226
+ // Lookup optional preview and poster assets
227
+ const previewVisual = lookupAsset(context, fields.preview);
228
+ const posterVisual = lookupAsset(context, fields.posterImage);
229
+ // Extract preview IVideoDetails if available
230
+ const preview = previewVisual?.video?.type === 'Local video' ? previewVisual.video.preview : undefined;
231
+ // Extract poster URL if available
232
+ const poster = posterVisual?.image?.type === 'Picture' ? posterVisual.image.src : undefined;
233
+ // Map Contentful's "Center" to our "Middle" type
234
+ const mapHorizontal = (value) => {
235
+ if (!value)
236
+ return null;
237
+ return value === 'Center' ? 'Middle' : value;
238
+ };
239
+ const video = {
240
+ id: sys.id,
241
+ type: 'External video',
242
+ name: makeContentfulTitle(fields.name, sys.id),
243
+ nameAsCaption: fields.nameAsCaption ?? null,
244
+ external: fields.url,
245
+ preview,
246
+ poster,
247
+ autoPlay: fields.autoPlay ?? null,
248
+ loop: fields.loop ?? null,
249
+ hideControls: fields.hideControls ?? null,
250
+ dontCrop: fields.dontCrop ?? null,
251
+ verticalCropPosition: fields.verticalCropPosition ?? null,
252
+ horizontalCropPosition: mapHorizontal(fields.horizontalCropPosition),
253
+ horizontalPosition: fields.horizontalPosition ?? null,
254
+ widthPercent: fields.width ?? null,
255
+ };
256
+ return {
257
+ id: sys.id,
258
+ type: 'Visual',
259
+ video,
260
+ };
261
+ }
262
+ /**
263
+ * Looks up and converts a media or external video entry from an unresolved link
264
+ */
265
+ export function lookupMediaEntry(context, link) {
266
+ if (!link)
267
+ return undefined;
268
+ const id = link.sys.id;
269
+ const possibleEntry = context.includes.get(id);
270
+ if (!possibleEntry) {
271
+ return undefined;
272
+ }
273
+ const { type, entry } = possibleEntry;
274
+ if (type === 'media') {
275
+ return convertMediaEntryToVisual(context, entry);
276
+ }
277
+ if (type === 'externalVideo') {
278
+ return convertExternalVideoEntryToVisual(context, entry);
279
+ }
280
+ return undefined;
281
+ }
282
+ //# 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,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,CAoDvB"}