@se-studio/contentful-rest-api 1.11.0 → 1.12.0

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 (63) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +10 -1
  3. package/dist/api/article-type.d.ts.map +1 -1
  4. package/dist/api/article-type.js +4 -6
  5. package/dist/api/article-type.js.map +1 -1
  6. package/dist/api/helpers.d.ts.map +1 -1
  7. package/dist/api/helpers.js +8 -13
  8. package/dist/api/helpers.js.map +1 -1
  9. package/dist/api/index.d.ts +1 -1
  10. package/dist/api/index.d.ts.map +1 -1
  11. package/dist/api/index.js +1 -1
  12. package/dist/api/index.js.map +1 -1
  13. package/dist/api/listing-fetch-params.d.ts +5 -2
  14. package/dist/api/listing-fetch-params.d.ts.map +1 -1
  15. package/dist/api/listing-fetch-params.js +16 -2
  16. package/dist/api/listing-fetch-params.js.map +1 -1
  17. package/dist/api/person.d.ts.map +1 -1
  18. package/dist/api/person.js +4 -6
  19. package/dist/api/person.js.map +1 -1
  20. package/dist/api/tag.d.ts.map +1 -1
  21. package/dist/api/tag.js +4 -6
  22. package/dist/api/tag.js.map +1 -1
  23. package/dist/api/template.d.ts.map +1 -1
  24. package/dist/api/template.js +3 -4
  25. package/dist/api/template.js.map +1 -1
  26. package/dist/converters/article.d.ts.map +1 -1
  27. package/dist/converters/article.js +11 -15
  28. package/dist/converters/article.js.map +1 -1
  29. package/dist/converters/customType.d.ts.map +1 -1
  30. package/dist/converters/customType.js +3 -11
  31. package/dist/converters/customType.js.map +1 -1
  32. package/dist/converters/index.d.ts +1 -1
  33. package/dist/converters/index.d.ts.map +1 -1
  34. package/dist/converters/index.js +1 -1
  35. package/dist/converters/index.js.map +1 -1
  36. package/dist/converters/navigationItem.d.ts +6 -0
  37. package/dist/converters/navigationItem.d.ts.map +1 -1
  38. package/dist/converters/navigationItem.js +24 -1
  39. package/dist/converters/navigationItem.js.map +1 -1
  40. package/dist/converters/page.js +3 -3
  41. package/dist/converters/page.js.map +1 -1
  42. package/dist/converters/pageVariantMerge.js +3 -3
  43. package/dist/converters/pageVariantMerge.js.map +1 -1
  44. package/dist/converters/person.js +3 -3
  45. package/dist/converters/person.js.map +1 -1
  46. package/dist/converters/tag.d.ts.map +1 -1
  47. package/dist/converters/tag.js +15 -19
  48. package/dist/converters/tag.js.map +1 -1
  49. package/dist/converters/template.d.ts.map +1 -1
  50. package/dist/converters/template.js +3 -4
  51. package/dist/converters/template.js.map +1 -1
  52. package/dist/index.d.ts +3 -3
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/navigation/enrichModelNavigation.d.ts +17 -0
  57. package/dist/navigation/enrichModelNavigation.d.ts.map +1 -0
  58. package/dist/navigation/enrichModelNavigation.js +47 -0
  59. package/dist/navigation/enrichModelNavigation.js.map +1 -0
  60. package/dist/types.d.ts +7 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/docs/llms.md +9 -3
  63. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gBAAgB;AAChB,OAAO,EAKL,iBAAiB,EACjB,+BAA+B,EAI/B,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC;AACnC,2BAA2B;AAC3B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EAErB,mBAAmB,EACnB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa;AACb,UAAU;AACV,mBAAmB,EACnB,kBAAkB,EAKlB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAMrB,mBAAmB,GAOpB,MAAM,OAAO,CAAC;AAGf,iBAAiB;AACjB,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,iBAAiB,EAEjB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EAOtB,WAAW,EACX,gCAAgC,EAChC,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,cAAc,CAAC;AACtB,yBAAyB;AACzB,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY;AACZ,oBAAoB;AACpB,sBAAsB,EACtB,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa;AACb,8BAA8B;AAC9B,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,wCAAwC,EACxC,4CAA4C,EAC5C,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,GAElC,MAAM,WAAW,CAAC;AASnB,qCAAqC;AACrC,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,QAAQ,EAER,cAAc,EACd,WAAW,EACX,QAAQ,EAER,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,gBAAgB;AAChB,OAAO,EAKL,iBAAiB,EACjB,+BAA+B,EAI/B,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC;AACnC,2BAA2B;AAC3B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EAErB,mBAAmB,EACnB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,aAAa;AACb,UAAU;AACV,mBAAmB,EACnB,kBAAkB,EAClB,6BAA6B,EAK7B,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EAMrB,mBAAmB,GAOpB,MAAM,OAAO,CAAC;AAGf,iBAAiB;AACjB,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC3B,iBAAiB,EAEjB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EAOtB,WAAW,EACX,gCAAgC,EAChC,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GAExB,MAAM,cAAc,CAAC;AACtB,yBAAyB;AACzB,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY;AACZ,oBAAoB;AACpB,sBAAsB,EACtB,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa;AACb,8BAA8B;AAC9B,OAAO,EACP,cAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,SAAS,EACT,wCAAwC,EACxC,4CAA4C,EAC5C,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,EACN,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,GAElC,MAAM,WAAW,CAAC;AAUnB,qCAAqC;AACrC,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,QAAQ,EAER,cAAc,EACd,WAAW,EACX,QAAQ,EAER,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { INavigation, ISvgImage, ITyped } from '@se-studio/core-data-types';
2
+ import type { BaseConverterContext } from '../converters/helpers';
3
+ import type { ContentfulConfig, FetchOptions } from '../types';
4
+ export interface LayoutBearingModel {
5
+ menu?: INavigation;
6
+ footer?: INavigation;
7
+ icons?: ReadonlyArray<ISvgImage>;
8
+ contents?: ReadonlyArray<ITyped>;
9
+ }
10
+ /**
11
+ * When `navigationResolution` is `flat`, replace nav stubs with registry-assembled trees
12
+ * and rebuild the icon sprite set from content + flat navigation.
13
+ */
14
+ export declare function enrichModelNavigation<T extends LayoutBearingModel>(model: T, context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<T>;
15
+ /** Flat-nav enrichment or bundled icon sprite processing after entity conversion. */
16
+ export declare function finalizeModelIconsAndNavigation<T extends LayoutBearingModel>(model: T, context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<T>;
17
+ //# sourceMappingURL=enrichModelNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichModelNavigation.d.ts","sourceRoot":"","sources":["../../src/navigation/enrichModelNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,EACtE,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,CAAC,CAkCZ;AAED,qFAAqF;AACrF,wBAAsB,+BAA+B,CAAC,CAAC,SAAS,kBAAkB,EAChF,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,CAAC,CAcZ"}
@@ -0,0 +1,47 @@
1
+ import { getNavigation } from '../api/navigation.js';
2
+ import { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, processIconsForSprite, } from '../converters/iconCollector.js';
3
+ /**
4
+ * When `navigationResolution` is `flat`, replace nav stubs with registry-assembled trees
5
+ * and rebuild the icon sprite set from content + flat navigation.
6
+ */
7
+ export async function enrichModelNavigation(model, context, config, options) {
8
+ if (options.navigationResolution !== 'flat') {
9
+ return model;
10
+ }
11
+ const menuId = model.menu?.id;
12
+ const footerId = model.footer?.id;
13
+ const [menu, footer] = await Promise.all([
14
+ menuId ? getNavigation(menuId, context, config, options) : undefined,
15
+ footerId ? getNavigation(footerId, context, config, options) : undefined,
16
+ ]);
17
+ const enriched = {
18
+ ...model,
19
+ ...(menu ? { menu } : {}),
20
+ ...(footer ? { footer } : {}),
21
+ };
22
+ const contents = model.contents ?? [];
23
+ const mergedIcons = deduplicateIcons(collectIconsFromContent(contents), collectIconsFromNavigation(menu ?? model.menu), collectIconsFromNavigation(footer ?? model.footer));
24
+ if (mergedIcons && mergedIcons.length > 0) {
25
+ const processedIcons = await processIconsForSprite(mergedIcons);
26
+ enriched.icons = processedIcons.length > 0 ? processedIcons : undefined;
27
+ }
28
+ else {
29
+ enriched.icons = undefined;
30
+ }
31
+ return enriched;
32
+ }
33
+ /** Flat-nav enrichment or bundled icon sprite processing after entity conversion. */
34
+ export async function finalizeModelIconsAndNavigation(model, context, config, options) {
35
+ if (options.navigationResolution === 'flat') {
36
+ return enrichModelNavigation(model, context, config, options);
37
+ }
38
+ if (model.icons && model.icons.length > 0) {
39
+ const processedIcons = await processIconsForSprite(model.icons);
40
+ return {
41
+ ...model,
42
+ icons: processedIcons.length > 0 ? processedIcons : undefined,
43
+ };
44
+ }
45
+ return model;
46
+ }
47
+ //# sourceMappingURL=enrichModelNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichModelNavigation.js","sourceRoot":"","sources":["../../src/navigation/enrichModelNavigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAUrC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAQ,EACR,OAA6B,EAC7B,MAAwB,EACxB,OAAqB;IAErB,IAAI,OAAO,CAAC,oBAAoB,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAElC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAM;QAClB,GAAG,KAAK;QACR,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,gBAAgB,CAClC,uBAAuB,CAAC,QAAQ,CAAC,EACjC,0BAA0B,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAC9C,0BAA0B,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CACnD,CAAC;IAEF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAChE,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAQ,EACR,OAA6B,EAC7B,MAAwB,EACxB,OAAqB;IAErB,IAAI,OAAO,CAAC,oBAAoB,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/types.d.ts CHANGED
@@ -52,6 +52,11 @@ export interface FetchOptions {
52
52
  * `listing` — metadata/links only (no nav or content trees). Default for bulk link fetches.
53
53
  */
54
54
  fetchProfile?: CmsFetchProfile;
55
+ /**
56
+ * `bundled` (default) — resolve menu/footer via Contentful includes during conversion.
57
+ * `flat` — stub nav root ids during conversion; assemble full trees post-convert via registry.
58
+ */
59
+ navigationResolution?: NavigationResolution;
55
60
  /** Pagination page size for `contentfulAllArticleLinks`. Default 100. */
56
61
  pageSize?: number;
57
62
  /**
@@ -61,6 +66,8 @@ export interface FetchOptions {
61
66
  }
62
67
  /** CMS fetch profile: full page render vs lightweight listing/metadata. */
63
68
  export type CmsFetchProfile = 'page' | 'listing';
69
+ /** How menu/footer are resolved on page-profile entity fetches. */
70
+ export type NavigationResolution = 'flat' | 'bundled';
64
71
  /**
65
72
  * Error information for failed content conversion
66
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,CAAC,CAAC;IACR,iDAAiD;IACjD,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjD,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,CAAC,CAAC;IACR,iDAAiD;IACjD,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB"}
package/docs/llms.md CHANGED
@@ -65,12 +65,18 @@ const allPersonLinks = await contentfulAllPersonLinks(config);
65
65
 
66
66
  ## Flat navigation
67
67
 
68
- Assemble menus without Contentful include depth. **Use `getNavigation` from `createAppHelpers` only** — registry/link-index fetchers are not exported.
68
+ Assemble menus without Contentful include depth.
69
+
70
+ **Page renders (preferred):** `navigationResolution: 'flat'` on `FetchOptions` — converters stub nav root ids; post-convert step calls registry + link index and rebuilds `model.menu` / `model.footer` / `model.icons`. Set in app `buildOptions`. Default is `'bundled'`.
69
71
 
70
72
  ```ts
71
- import { createAppHelpers } from '@se-studio/core-ui';
73
+ buildFetchOptions({ navigationResolution: 'flat', ...options }, preview);
74
+ ```
72
75
 
73
- const { getNavigation } = createAppHelpers({ /* converterContext, getConfig, buildOptions, buildInformation */ });
76
+ **Ad hoc:** `getNavigation` from `createAppHelpers` only registry/link-index fetchers are not exported.
77
+
78
+ ```ts
79
+ const { getNavigation } = createAppHelpers({ /* ... */ });
74
80
  const menu = await getNavigation(mainNavEntryId);
75
81
  ```
76
82
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-rest-api",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
5
5
  "repository": {
6
6
  "type": "git",