@se-studio/contentful-rest-api 1.10.0 → 1.11.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 (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +32 -1
  3. package/dist/api/helpers.d.ts +2 -0
  4. package/dist/api/helpers.d.ts.map +1 -1
  5. package/dist/api/helpers.js +8 -0
  6. package/dist/api/helpers.js.map +1 -1
  7. package/dist/api/index.d.ts +1 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +1 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/links.d.ts.map +1 -1
  12. package/dist/api/links.js +30 -31
  13. package/dist/api/links.js.map +1 -1
  14. package/dist/api/listing-fetch-params.d.ts +25 -2
  15. package/dist/api/listing-fetch-params.d.ts.map +1 -1
  16. package/dist/api/listing-fetch-params.js +5 -2
  17. package/dist/api/listing-fetch-params.js.map +1 -1
  18. package/dist/api/navigation.d.ts +9 -0
  19. package/dist/api/navigation.d.ts.map +1 -0
  20. package/dist/api/navigation.js +17 -0
  21. package/dist/api/navigation.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/navigation/assembly.d.ts +8 -0
  27. package/dist/navigation/assembly.d.ts.map +1 -0
  28. package/dist/navigation/assembly.js +115 -0
  29. package/dist/navigation/assembly.js.map +1 -0
  30. package/dist/navigation/cacheOptions.d.ts +15 -0
  31. package/dist/navigation/cacheOptions.d.ts.map +1 -0
  32. package/dist/navigation/cacheOptions.js +38 -0
  33. package/dist/navigation/cacheOptions.js.map +1 -0
  34. package/dist/navigation/linkIndex.d.ts +9 -0
  35. package/dist/navigation/linkIndex.d.ts.map +1 -0
  36. package/dist/navigation/linkIndex.js +90 -0
  37. package/dist/navigation/linkIndex.js.map +1 -0
  38. package/dist/navigation/registry.d.ts +14 -0
  39. package/dist/navigation/registry.d.ts.map +1 -0
  40. package/dist/navigation/registry.js +113 -0
  41. package/dist/navigation/registry.js.map +1 -0
  42. package/dist/navigation/types.d.ts +45 -0
  43. package/dist/navigation/types.d.ts.map +1 -0
  44. package/dist/navigation/types.js +2 -0
  45. package/dist/navigation/types.js.map +1 -0
  46. package/dist/revalidation/handlers.d.ts.map +1 -1
  47. package/dist/revalidation/handlers.js +16 -1
  48. package/dist/revalidation/handlers.js.map +1 -1
  49. package/dist/revalidation/index.d.ts +1 -0
  50. package/dist/revalidation/index.d.ts.map +1 -1
  51. package/dist/revalidation/index.js +1 -0
  52. package/dist/revalidation/index.js.map +1 -1
  53. package/dist/revalidation/tags.d.ts +9 -0
  54. package/dist/revalidation/tags.d.ts.map +1 -1
  55. package/dist/revalidation/tags.js +15 -1
  56. package/dist/revalidation/tags.js.map +1 -1
  57. package/dist/revalidation/utils.d.ts.map +1 -1
  58. package/dist/revalidation/utils.js +5 -1
  59. package/dist/revalidation/utils.js.map +1 -1
  60. package/dist/revalidation/webhook-content-types.d.ts +12 -0
  61. package/dist/revalidation/webhook-content-types.d.ts.map +1 -0
  62. package/dist/revalidation/webhook-content-types.js +27 -0
  63. package/dist/revalidation/webhook-content-types.js.map +1 -0
  64. package/docs/llms.md +29 -1
  65. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ import type { IInternalLink, ILinkProps, INavigation, INavigationItem } from '@se-studio/core-data-types';
2
+ import type { InternalLinkIndex, NavItemRecord, NavigationRegistry, NavigationRootRecord } from './types';
3
+ export declare function createNavItemLink(record: NavItemRecord, linkIndex: InternalLinkIndex): ILinkProps | undefined;
4
+ export declare function assembleNavigationItem(id: string, registry: NavigationRegistry, linkIndex: InternalLinkIndex, visiting?: Set<string>): INavigationItem | undefined;
5
+ export declare function assembleNavigation(root: NavigationRootRecord, registry: NavigationRegistry, linkIndex: InternalLinkIndex): INavigation;
6
+ export declare function assembleNavigationById(navigationId: string, registry: NavigationRegistry, linkIndex: InternalLinkIndex): INavigation | undefined;
7
+ export declare function addLinkToIndex(index: InternalLinkIndex, link: IInternalLink): void;
8
+ //# sourceMappingURL=assembly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembly.d.ts","sourceRoot":"","sources":["../../src/navigation/assembly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EACV,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,iBAAiB,GAC3B,UAAU,GAAG,SAAS,CAoFxB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,GAAE,GAAG,CAAC,MAAM,CAAa,GAChC,eAAe,GAAG,SAAS,CA0B7B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,iBAAiB,GAC3B,WAAW,CAab;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,iBAAiB,GAC3B,WAAW,GAAG,SAAS,CAMzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAOlF"}
@@ -0,0 +1,115 @@
1
+ import { resolveBuildYear } from '../converters/helpers.js';
2
+ export function createNavItemLink(record, linkIndex) {
3
+ const { id, title, externalLink, text, internalId, icon, useTitle, variant, size, trackingEventName, longText, isButton, isOutlined, backgroundColour, textColour, } = record;
4
+ const trackingInfo = trackingEventName ? { trackingEventName } : undefined;
5
+ const realText = useTitle ? resolveBuildYear(title) : text ? resolveBuildYear(text) : undefined;
6
+ const styleProps = {
7
+ ...(isButton !== undefined ? { isButton } : {}),
8
+ ...(isOutlined !== undefined ? { isOutlined } : {}),
9
+ ...(backgroundColour !== undefined ? { backgroundColour } : {}),
10
+ ...(textColour !== undefined ? { textColour } : {}),
11
+ };
12
+ if (externalLink) {
13
+ return {
14
+ type: 'External link',
15
+ id,
16
+ href: externalLink,
17
+ icon,
18
+ name: title,
19
+ ...styleProps,
20
+ longText,
21
+ variant,
22
+ size,
23
+ text: realText,
24
+ ...(trackingInfo && { trackingInfo }),
25
+ };
26
+ }
27
+ if (internalId) {
28
+ const resolved = linkIndex.get(internalId);
29
+ if (resolved) {
30
+ return {
31
+ ...resolved,
32
+ ...styleProps,
33
+ longText,
34
+ icon,
35
+ visual: icon?.visual ?? resolved.visual,
36
+ id,
37
+ text: realText,
38
+ variant,
39
+ size,
40
+ ...(trackingInfo && {
41
+ trackingInfo: { ...resolved.trackingInfo, ...trackingInfo },
42
+ }),
43
+ };
44
+ }
45
+ if (process.env.LOG_CMS) {
46
+ console.warn(`[CMS] Navigation item ${id} internal target ${internalId} not in link index (${linkIndex.size} links loaded)`);
47
+ }
48
+ }
49
+ const blank = {
50
+ type: 'Blank link',
51
+ nick: true,
52
+ id,
53
+ name: title,
54
+ ...styleProps,
55
+ longText,
56
+ variant,
57
+ size,
58
+ icon,
59
+ text: realText,
60
+ ...(trackingInfo && { trackingInfo }),
61
+ };
62
+ return blank;
63
+ }
64
+ export function assembleNavigationItem(id, registry, linkIndex, visiting = new Set()) {
65
+ if (visiting.has(id)) {
66
+ return undefined;
67
+ }
68
+ const record = registry.items.get(id);
69
+ if (!record) {
70
+ return undefined;
71
+ }
72
+ visiting.add(id);
73
+ const link = createNavItemLink(record, linkIndex);
74
+ const entries = record.childIds
75
+ .map((childId) => assembleNavigationItem(childId, registry, linkIndex, visiting))
76
+ .filter((item) => item !== undefined);
77
+ visiting.delete(id);
78
+ const result = {
79
+ id,
80
+ link,
81
+ entries: entries.length > 0 ? entries : undefined,
82
+ ...(record.adminLabel ? { adminLabel: record.adminLabel } : {}),
83
+ };
84
+ return result;
85
+ }
86
+ export function assembleNavigation(root, registry, linkIndex) {
87
+ const entries = root.entryIds
88
+ .map((id) => assembleNavigationItem(id, registry, linkIndex))
89
+ .filter((item) => item !== undefined);
90
+ return {
91
+ id: root.id,
92
+ name: root.name,
93
+ entries,
94
+ ...(root.adminLabel ? { adminLabel: root.adminLabel } : {}),
95
+ ...(root.backgroundColour ? { backgroundColour: root.backgroundColour } : {}),
96
+ ...(root.textColour ? { textColour: root.textColour } : {}),
97
+ };
98
+ }
99
+ export function assembleNavigationById(navigationId, registry, linkIndex) {
100
+ const root = registry.roots.get(navigationId);
101
+ if (!root) {
102
+ return undefined;
103
+ }
104
+ return assembleNavigation(root, registry, linkIndex);
105
+ }
106
+ export function addLinkToIndex(index, link) {
107
+ index.set(link.internalId, link);
108
+ if (link.linkEntryId) {
109
+ index.set(link.linkEntryId, link);
110
+ }
111
+ else {
112
+ index.set(link.id, link);
113
+ }
114
+ }
115
+ //# sourceMappingURL=assembly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembly.js","sourceRoot":"","sources":["../../src/navigation/assembly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { FetchOptions } from '../types';
2
+ /**
3
+ * Time-based ISR fallback (seconds) when a Contentful webhook does not invalidate cache tags.
4
+ * Primary invalidation is tag-based via {@link FLAT_NAV_CACHE_TAGS} on each sub-fetch.
5
+ * Apps may override with `options.next.revalidate` (set `false` for tag-only caching).
6
+ */
7
+ export declare const FLAT_NAV_TIME_REVALIDATE_SECONDS = 3600;
8
+ /**
9
+ * Collection-level Next.js cache tags for flat navigation fetches.
10
+ * Webhook handlers must revalidate these when the corresponding content type publishes.
11
+ */
12
+ export declare const FLAT_NAV_CACHE_TAGS: readonly ["navigation", "navigationItem", "page", "pageVariant", "article", "articleType", "customType", "tag", "tagType", "person", "link"];
13
+ /** Merge default flat-nav cache settings without clobbering app-provided `next` fields. */
14
+ export declare function buildFlatNavigationCacheOptions(options: FetchOptions): FetchOptions;
15
+ //# sourceMappingURL=cacheOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheOptions.d.ts","sourceRoot":"","sources":["../../src/navigation/cacheOptions.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8IAYtB,CAAC;AAEX,2FAA2F;AAC3F,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAYnF"}
@@ -0,0 +1,38 @@
1
+ import { ArticleTag, ArticleTypeTag, CustomTypeTag, LinkTag, NavigationItemTag, NavigationTag, PageTag, PageVariantTag, PersonTag, TagTag, TagTypeTag, } from '../revalidation/tags.js';
2
+ /**
3
+ * Time-based ISR fallback (seconds) when a Contentful webhook does not invalidate cache tags.
4
+ * Primary invalidation is tag-based via {@link FLAT_NAV_CACHE_TAGS} on each sub-fetch.
5
+ * Apps may override with `options.next.revalidate` (set `false` for tag-only caching).
6
+ */
7
+ export const FLAT_NAV_TIME_REVALIDATE_SECONDS = 3600;
8
+ /**
9
+ * Collection-level Next.js cache tags for flat navigation fetches.
10
+ * Webhook handlers must revalidate these when the corresponding content type publishes.
11
+ */
12
+ export const FLAT_NAV_CACHE_TAGS = [
13
+ NavigationTag,
14
+ NavigationItemTag,
15
+ PageTag,
16
+ PageVariantTag,
17
+ ArticleTag,
18
+ ArticleTypeTag,
19
+ CustomTypeTag,
20
+ TagTag,
21
+ TagTypeTag,
22
+ PersonTag,
23
+ LinkTag,
24
+ ];
25
+ /** Merge default flat-nav cache settings without clobbering app-provided `next` fields. */
26
+ export function buildFlatNavigationCacheOptions(options) {
27
+ const { revalidate, tags, ...restNext } = options.next ?? {};
28
+ return {
29
+ ...options,
30
+ cache: options.cache ?? 'force-cache',
31
+ next: {
32
+ ...restNext,
33
+ revalidate: revalidate ?? FLAT_NAV_TIME_REVALIDATE_SECONDS,
34
+ tags: [...new Set([...FLAT_NAV_CACHE_TAGS, ...(tags ?? [])])],
35
+ },
36
+ };
37
+ }
38
+ //# sourceMappingURL=cacheOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheOptions.js","sourceRoot":"","sources":["../../src/navigation/cacheOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,cAAc,EACd,SAAS,EACT,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,iBAAiB;IACjB,OAAO;IACP,cAAc;IACd,UAAU;IACV,cAAc;IACd,aAAa;IACb,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;CACC,CAAC;AAEX,2FAA2F;AAC3F,MAAM,UAAU,+BAA+B,CAAC,OAAqB;IACnE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7D,OAAO;QACL,GAAG,OAAO;QACV,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,aAAa;QACrC,IAAI,EAAE;YACJ,GAAG,QAAQ;YACX,UAAU,EAAE,UAAU,IAAI,gCAAgC;YAC1D,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { BaseConverterContext } from '../converters/helpers';
2
+ import type { ContentfulConfig, FetchOptions } from '../types';
3
+ import type { InternalLinkIndex } from './types';
4
+ /**
5
+ * Fetches all routable entry links and builds an entry-id keyed index for navigation assembly.
6
+ * Includes link wrapper entries keyed by wrapper id and target id.
7
+ */
8
+ export declare function getInternalLinkIndex(context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<InternalLinkIndex>;
9
+ //# sourceMappingURL=linkIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkIndex.d.ts","sourceRoot":"","sources":["../../src/navigation/linkIndex.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,iBAAiB,CAAC,CA4C5B"}
@@ -0,0 +1,90 @@
1
+ import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, mergeFetchCacheTags, } from '../api/helpers.js';
2
+ import { contentfulAllArticleLinks, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, } from '../api/links.js';
3
+ import { getContentfulClient } from '../client.js';
4
+ import { baseLinkConverter } from '../converters/link.js';
5
+ import { getCacheTags } from '../revalidation/utils.js';
6
+ import { addLinkToIndex } from './assembly.js';
7
+ import { buildFlatNavigationCacheOptions } from './cacheOptions.js';
8
+ /**
9
+ * Fetches all routable entry links and builds an entry-id keyed index for navigation assembly.
10
+ * Includes link wrapper entries keyed by wrapper id and target id.
11
+ */
12
+ export async function getInternalLinkIndex(context, config, options) {
13
+ const cacheOptions = {
14
+ ...buildFlatNavigationCacheOptions(options),
15
+ fetchProfile: 'listing',
16
+ };
17
+ const [pageRes, articleRes, articleTypeRes, tagRes, personRes, customTypeRes, tagTypeRes, linkWrapperRes,] = await Promise.all([
18
+ contentfulAllPageLinks(context, config, cacheOptions),
19
+ contentfulAllArticleLinks(context, config, cacheOptions),
20
+ contentfulAllArticleTypeLinks(context, config, cacheOptions),
21
+ contentfulAllTagLinks(context, config, cacheOptions),
22
+ contentfulAllPersonLinks(context, config, cacheOptions),
23
+ contentfulAllCustomTypeLinks(context, config, cacheOptions),
24
+ contentfulAllTagTypeLinks(context, config, cacheOptions),
25
+ fetchLinkWrapperEntries(context, config, cacheOptions),
26
+ ]);
27
+ const index = new Map();
28
+ for (const link of [
29
+ ...pageRes.data,
30
+ ...articleRes.data,
31
+ ...articleTypeRes.data,
32
+ ...tagRes.data,
33
+ ...personRes.data,
34
+ ...customTypeRes.data,
35
+ ...tagTypeRes.data,
36
+ ...linkWrapperRes.data,
37
+ ]) {
38
+ if (link.type === 'Internal link') {
39
+ addLinkToIndex(index, link);
40
+ }
41
+ }
42
+ return index;
43
+ }
44
+ async function fetchLinkWrapperEntries(context, config, options) {
45
+ const client = getContentfulClient(config, options.preview);
46
+ const cacheTags = getCacheTags('link', undefined, options?.preview);
47
+ const requestOptions = {
48
+ ...options,
49
+ next: mergeFetchCacheTags(options, cacheTags),
50
+ };
51
+ const data = [];
52
+ const pageSize = options.pageSize ?? 100;
53
+ let skip = 0;
54
+ let total = Number.POSITIVE_INFINITY;
55
+ while (skip < total) {
56
+ const response = await client.getEntries({
57
+ content_type: 'link',
58
+ order: 'sys.createdAt',
59
+ include: 1,
60
+ locale: options?.locale,
61
+ limit: pageSize,
62
+ skip,
63
+ }, requestOptions);
64
+ if (response.items.length === 0) {
65
+ break;
66
+ }
67
+ const assets = convertAllAssets(response, context);
68
+ const rawAssets = convertAllRawAssets(response);
69
+ const includes = convertAllIncludes(response);
70
+ const { enrichAllAssets } = await import('../converters/enrichAssets.js');
71
+ const externalVideoEmbeds = options.skipAssetEnrichment
72
+ ? new Map()
73
+ : await enrichAllAssets(assets, includes, options);
74
+ const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, { ...options, fetchProfile: 'listing' });
75
+ for (const entry of response.items) {
76
+ if (!entry.fields) {
77
+ continue;
78
+ }
79
+ const converted = baseLinkConverter(fullContext, entry);
80
+ if (converted.type === 'Internal link') {
81
+ converted.lastModified = new Date(entry.sys.updatedAt);
82
+ data.push(converted);
83
+ }
84
+ }
85
+ total = response.total;
86
+ skip += pageSize;
87
+ }
88
+ return { data };
89
+ }
90
+ //# sourceMappingURL=linkIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkIndex.js","sourceRoot":"","sources":["../../src/navigation/linkIndex.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAGjE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA6B,EAC7B,MAAwB,EACxB,OAAqB;IAErB,MAAM,YAAY,GAAiB;QACjC,GAAG,+BAA+B,CAAC,OAAO,CAAC;QAC3C,YAAY,EAAE,SAAS;KACxB,CAAC;IAEF,MAAM,CACJ,OAAO,EACP,UAAU,EACV,cAAc,EACd,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACf,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACrD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QAC5D,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACpD,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACvD,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QAC3D,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;QACxD,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC;KACvD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI;QACjB,GAAG,OAAO,CAAC,IAAI;QACf,GAAG,UAAU,CAAC,IAAI;QAClB,GAAG,cAAc,CAAC,IAAI;QACtB,GAAG,MAAM,CAAC,IAAI;QACd,GAAG,SAAS,CAAC,IAAI;QACjB,GAAG,aAAa,CAAC,IAAI;QACrB,GAAG,UAAU,CAAC,IAAI;QAClB,GAAG,cAAc,CAAC,IAAI;KACvB,EAAE,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAClC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAA6B,EAC7B,MAAwB,EACxB,OAAqB;IAErB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG;QACrB,GAAG,OAAO;QACV,IAAI,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;KAC9C,CAAC;IAEF,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IACzC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAErC,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CACtC;YACE,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,KAAK,EAAE,QAAQ;YACf,IAAI;SACL,EACD,cAAc,CACf,CAAC;QAEF,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB;YACrD,CAAC,CAAC,IAAI,GAAG,EAAE;YACX,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,0BAA0B,CAC5C,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CACxC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,iBAAiB,CACjC,WAAW,EACX,KAA8D,CAC/D,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACvC,SAAS,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvB,IAAI,IAAI,QAAQ,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Entry } from 'contentful';
2
+ import type { DefaultChainModifier } from '../api/types';
3
+ import type { BaseNavigationSkeleton } from '../baseTypes/baseNavigation';
4
+ import type { BaseNavigationItemSkeleton } from '../baseTypes/baseNavigationItem';
5
+ import type { BaseConverterContext, ConverterContext } from '../converters/helpers';
6
+ import type { ContentfulConfig, FetchOptions } from '../types';
7
+ import type { NavItemRecord, NavigationRegistry, NavigationRootRecord } from './types';
8
+ export declare function buildNavItemRecord(context: ConverterContext, entry: Entry<BaseNavigationItemSkeleton, DefaultChainModifier, string>): NavItemRecord | undefined;
9
+ export declare function buildNavigationRootRecord(entry: Entry<BaseNavigationSkeleton, DefaultChainModifier, string>): NavigationRootRecord | undefined;
10
+ /**
11
+ * Fetches all navigation and navigationItem entries as flat records for in-memory assembly.
12
+ */
13
+ export declare function getNavigationRegistry(context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<NavigationRegistry>;
14
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/navigation/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AASvF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACrE,aAAa,GAAG,SAAS,CAkD3B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GACjE,oBAAoB,GAAG,SAAS,CAgBlC;AA6CD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
@@ -0,0 +1,113 @@
1
+ import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, } from '../api/helpers.js';
2
+ import { getContentfulClient } from '../client.js';
3
+ import { createResponsiveVisual } from '../converters/asset.js';
4
+ import { lookupIconAsset, resolveBuildYear } from '../converters/helpers.js';
5
+ import { resolveRichTextDocument } from '../converters/resolver.js';
6
+ import { buildFlatNavigationCacheOptions } from './cacheOptions.js';
7
+ /** include=1 resolves icon/mobileIcon assets without walking the nav tree. */
8
+ const NAVIGATION_ITEM_INCLUDE = 1;
9
+ function entryLinkId(link) {
10
+ return link?.sys.id;
11
+ }
12
+ export function buildNavItemRecord(context, entry) {
13
+ if (!entry.fields) {
14
+ return undefined;
15
+ }
16
+ const { sys, fields } = entry;
17
+ const { title, useTitle, text, internal, link, navigationItems, icon: navIcon, mobileIcon: mobileNavIcon, variant, size, trackingEventName, longText: longTextField, adminLabel, isButton, isOutlined, backgroundColour, textColour, } = fields;
18
+ const icon = createResponsiveVisual(lookupIconAsset(context, navIcon), lookupIconAsset(context, mobileNavIcon));
19
+ return {
20
+ id: sys.id,
21
+ childIds: navigationItems?.map((item) => item.sys.id) ?? [],
22
+ internalId: entryLinkId(internal),
23
+ ...(adminLabel ? { adminLabel } : {}),
24
+ title: resolveBuildYear(title),
25
+ useTitle,
26
+ ...(text ? { text: resolveBuildYear(text) } : {}),
27
+ ...(link ? { externalLink: link } : {}),
28
+ ...(icon ? { icon } : {}),
29
+ ...(variant ? { variant } : {}),
30
+ ...(size ? { size } : {}),
31
+ ...(trackingEventName ? { trackingEventName } : {}),
32
+ longText: resolveRichTextDocument(context, sys.id, longTextField),
33
+ ...(isButton !== undefined ? { isButton } : {}),
34
+ ...(isOutlined !== undefined ? { isOutlined } : {}),
35
+ ...(backgroundColour ? { backgroundColour } : {}),
36
+ ...(textColour ? { textColour } : {}),
37
+ };
38
+ }
39
+ export function buildNavigationRootRecord(entry) {
40
+ if (!entry.fields) {
41
+ return undefined;
42
+ }
43
+ const { sys, fields } = entry;
44
+ const { name, entries, adminLabel, backgroundColour, textColour } = fields;
45
+ return {
46
+ id: sys.id,
47
+ name,
48
+ entryIds: entries?.map((item) => item.sys.id) ?? [],
49
+ ...(adminLabel ? { adminLabel } : {}),
50
+ ...(backgroundColour ? { backgroundColour } : {}),
51
+ ...(textColour ? { textColour } : {}),
52
+ };
53
+ }
54
+ async function enrichAssetsForFetch(assets, includes, options) {
55
+ const { enrichAllAssets } = await import('../converters/enrichAssets.js');
56
+ return enrichAllAssets(assets, includes, options);
57
+ }
58
+ async function paginateEntries(contentType, client, requestOptions, pageSize, include, onPage) {
59
+ let skip = 0;
60
+ let total = Number.POSITIVE_INFINITY;
61
+ while (skip < total) {
62
+ const response = await client.getEntries({
63
+ content_type: contentType,
64
+ order: 'sys.createdAt',
65
+ include,
66
+ locale: requestOptions?.locale,
67
+ limit: pageSize,
68
+ skip,
69
+ }, requestOptions);
70
+ if (response.items.length === 0) {
71
+ break;
72
+ }
73
+ await onPage(response);
74
+ total = response.total;
75
+ skip += pageSize;
76
+ }
77
+ }
78
+ /**
79
+ * Fetches all navigation and navigationItem entries as flat records for in-memory assembly.
80
+ */
81
+ export async function getNavigationRegistry(context, config, options) {
82
+ const cacheOptions = buildFlatNavigationCacheOptions(options);
83
+ const client = getContentfulClient(config, cacheOptions.preview);
84
+ const pageSize = cacheOptions.pageSize ?? 100;
85
+ const items = new Map();
86
+ const roots = new Map();
87
+ const itemFetch = paginateEntries('navigationItem', client, cacheOptions, pageSize, NAVIGATION_ITEM_INCLUDE, async (response) => {
88
+ const assets = convertAllAssets(response, context);
89
+ const rawAssets = convertAllRawAssets(response);
90
+ const includes = convertAllIncludes(response);
91
+ const externalVideoEmbeds = cacheOptions.skipAssetEnrichment
92
+ ? new Map()
93
+ : await enrichAssetsForFetch(assets, includes, cacheOptions);
94
+ const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, { ...cacheOptions, fetchProfile: 'listing' });
95
+ for (const entry of response.items) {
96
+ const record = buildNavItemRecord(fullContext, entry);
97
+ if (record) {
98
+ items.set(record.id, record);
99
+ }
100
+ }
101
+ });
102
+ const rootFetch = paginateEntries('navigation', client, cacheOptions, pageSize, 0, (response) => {
103
+ for (const entry of response.items) {
104
+ const record = buildNavigationRootRecord(entry);
105
+ if (record) {
106
+ roots.set(record.id, record);
107
+ }
108
+ }
109
+ });
110
+ await Promise.all([itemFetch, rootFetch]);
111
+ return { items, roots };
112
+ }
113
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/navigation/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { IInternalLink, IResolvedRichText, IResponsiveVisual } from '@se-studio/core-data-types';
2
+ /** Entry-id keyed cache of routable internal links for navigation assembly. */
3
+ export type InternalLinkIndex = Map<string, IInternalLink>;
4
+ /**
5
+ * Flat record for a navigationItem entry. Child relationships are stored as entry ids
6
+ * so the tree can be assembled in memory without Contentful include depth.
7
+ */
8
+ export interface NavItemRecord {
9
+ id: string;
10
+ childIds: string[];
11
+ internalId?: string;
12
+ adminLabel?: string;
13
+ title: string;
14
+ useTitle: boolean;
15
+ text?: string;
16
+ externalLink?: string;
17
+ icon?: IResponsiveVisual;
18
+ variant?: string;
19
+ size?: string;
20
+ trackingEventName?: string;
21
+ longText?: IResolvedRichText | null;
22
+ isButton?: boolean;
23
+ isOutlined?: boolean;
24
+ backgroundColour?: string;
25
+ textColour?: string;
26
+ }
27
+ /**
28
+ * Flat record for a navigation root entry.
29
+ */
30
+ export interface NavigationRootRecord {
31
+ id: string;
32
+ name: string;
33
+ adminLabel?: string;
34
+ entryIds: string[];
35
+ backgroundColour?: string;
36
+ textColour?: string;
37
+ }
38
+ /**
39
+ * Cached flat navigation data used to assemble INavigation trees.
40
+ */
41
+ export interface NavigationRegistry {
42
+ items: Map<string, NavItemRecord>;
43
+ roots: Map<string, NavigationRootRecord>;
44
+ }
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/navigation/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,QAAQ;IAEvB,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAC1D,KAAK,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QAC/B,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACtC,CAAC;CACH;AAED,UAAU,QAAS,SAAQ,QAAQ;IACjC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAwCD,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,GAAG,EAAE,MAAM,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAWD,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EAAE,UAAU;IACrE,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IACpE,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA2CD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAiDzD,CAAC;AAGF,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAGD,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAGD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,QAAQ;IAEvB,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;QAC1D,KAAK,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QAC/B,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrC,WAAW,EAAE;YAAE,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KACtC,CAAC;CACH;AAED,UAAU,QAAS,SAAQ,QAAQ;IACjC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAwCD,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,GAAG,EAAE,MAAM,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAWD,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EAAE,UAAU;IACrE,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IACpE,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA2CD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAgEzD,CAAC;AAGF,wBAAsB,eAAe,CACnC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAGD,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAclB;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAGD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -1,5 +1,5 @@
1
1
  import { revalidateSingleTag, revalidateTags } from './server-utils.js';
2
- import { ArticleTag, ArticleTypeIndexTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, assetTag, BannerTag, CustomTypeTag, GlobalTag, LocationTag, locationTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, RedirectTag, TagTag, TemplateTag, tagTag, templateTag, } from './tags.js';
2
+ import { ArticleTag, ArticleTypeIndexTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, assetTag, BannerTag, CustomTypeTag, GlobalTag, LinkTag, LocationTag, locationTag, NavigationItemTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, RedirectTag, TagTag, TagTypeTag, TemplateTag, tagTag, tagTypeTag, templateTag, } from './tags.js';
3
3
  // Default locale for Contentful
4
4
  const defaultLocale = 'en-US';
5
5
  // Content type handlers
@@ -53,6 +53,16 @@ export const contentTypeHandlers = {
53
53
  makeTags: (extracted) => [extracted ? tagTag(extracted) : undefined],
54
54
  getGlobalTags: () => [TagTag],
55
55
  },
56
+ tagType: {
57
+ extract: (data) => data.fields?.slug?.[defaultLocale],
58
+ makeTags: (extracted) => [extracted ? tagTypeTag(extracted) : undefined],
59
+ getGlobalTags: () => [TagTypeTag],
60
+ },
61
+ link: {
62
+ extract: () => undefined,
63
+ makeTags: () => undefined,
64
+ getGlobalTags: () => [LinkTag],
65
+ },
56
66
  // biome-ignore lint/suspicious/noExplicitAny: Any is ok for handlers with different types
57
67
  template: templateHandler,
58
68
  customType: {
@@ -65,6 +75,11 @@ export const contentTypeHandlers = {
65
75
  makeTags: () => undefined,
66
76
  getGlobalTags: () => [NavigationTag],
67
77
  },
78
+ navigationItem: {
79
+ extract: () => undefined,
80
+ makeTags: () => undefined,
81
+ getGlobalTags: () => [NavigationItemTag],
82
+ },
68
83
  banner: {
69
84
  extract: () => undefined,
70
85
  makeTags: () => undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/revalidation/handlers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './tags';
2
2
  export * from './utils';
3
+ export * from './webhook-content-types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // Revalidation utilities exports (Client-safe)
2
2
  export * from './tags.js';
3
3
  export * from './utils.js';
4
+ export * from './webhook-content-types.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/revalidation/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}