@bright.global/arboretum-sdk 0.0.6

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 (218) hide show
  1. package/README.md +223 -0
  2. package/dist/arboretum-client.js +2 -0
  3. package/dist/clients/contentful-client/contentful-client.js +2 -0
  4. package/dist/clients/contentful-client/impl/contentful-client-impl.js +54 -0
  5. package/dist/es6/arboretum-client.js +1 -0
  6. package/dist/es6/clients/contentful-client/contentful-client.js +1 -0
  7. package/dist/es6/clients/contentful-client/impl/contentful-client-impl.js +50 -0
  8. package/dist/es6/impl/arboretum-client.impl.js +182 -0
  9. package/dist/es6/impl/data/content-types.js +136 -0
  10. package/dist/es6/impl/data/helpers/__mocks__/mocked-contentful-entries-client-api.js +66 -0
  11. package/dist/es6/impl/data/helpers/entry-status.js +19 -0
  12. package/dist/es6/impl/data/helpers/get-all-entries-recursively.js +113 -0
  13. package/dist/es6/impl/data/helpers/get-all-entries-recursively.test.js +114 -0
  14. package/dist/es6/impl/data/helpers/home-pages-by-tag-id.js +66 -0
  15. package/dist/es6/impl/data/helpers/home-pages-by-tag-id.test.js +105 -0
  16. package/dist/es6/impl/data/helpers/locale-codes-from-metadata.js +7 -0
  17. package/dist/es6/impl/data/helpers/locale-codes-from-metadata.test.js +52 -0
  18. package/dist/es6/impl/data/helpers/parse-locale-tag.js +24 -0
  19. package/dist/es6/impl/data/helpers/parse-locale-tag.test.js +19 -0
  20. package/dist/es6/impl/data/helpers/validate-content-types.js +112 -0
  21. package/dist/es6/impl/data/helpers/validate-content-types.test.js +103 -0
  22. package/dist/es6/impl/data/home-page.js +75 -0
  23. package/dist/es6/impl/data/locales.js +60 -0
  24. package/dist/es6/impl/data/page-entries.js +169 -0
  25. package/dist/es6/impl/data/page-entries.test.js +170 -0
  26. package/dist/es6/impl/data/redirect-entries.js +163 -0
  27. package/dist/es6/impl/data/sitemap-data.js +109 -0
  28. package/dist/es6/impl/sitemap/adapters/page-entry-adapter.js +27 -0
  29. package/dist/es6/impl/sitemap/adapters/redirect-entry-adapter.js +26 -0
  30. package/dist/es6/impl/sitemap/adapters/redirect-to-arboretum-page-adapter.js +11 -0
  31. package/dist/es6/impl/sitemap/adapters/to-arboretum-page-adapter.js +14 -0
  32. package/dist/es6/impl/sitemap/adapters/to-arboretum-page-adapter.test.js +100 -0
  33. package/dist/es6/impl/sitemap/adapters/to-arboretum-page-with-missing-data-adapter.js +16 -0
  34. package/dist/es6/impl/sitemap/helpers/__mocks__/mocked-localized-sitemap.js +186 -0
  35. package/dist/es6/impl/sitemap/helpers/build-localized-sitemap.js +128 -0
  36. package/dist/es6/impl/sitemap/helpers/build-localized-sitemap.test.js +208 -0
  37. package/dist/es6/impl/sitemap/helpers/build-pages-by-tag-eagerly.js +7 -0
  38. package/dist/es6/impl/sitemap/helpers/build-sitemap-eagerly.js +32 -0
  39. package/dist/es6/impl/sitemap/helpers/find-ancestors.js +42 -0
  40. package/dist/es6/impl/sitemap/helpers/find-ancestors.test.js +33 -0
  41. package/dist/es6/impl/sitemap/helpers/find-children.js +9 -0
  42. package/dist/es6/impl/sitemap/helpers/find-children.test.js +39 -0
  43. package/dist/es6/impl/sitemap/helpers/is-root.js +1 -0
  44. package/dist/es6/impl/sitemap/helpers/localize-contentful-field.js +22 -0
  45. package/dist/es6/impl/sitemap/helpers/localize-contentful-field.test.js +137 -0
  46. package/dist/es6/impl/sitemap/helpers/localized-pages-by-tag-id.js +79 -0
  47. package/dist/es6/impl/sitemap/helpers/localized-path.js +4 -0
  48. package/dist/es6/impl/sitemap/helpers/page-ancestors.js +8 -0
  49. package/dist/es6/impl/sitemap/helpers/page-children.js +10 -0
  50. package/dist/es6/impl/sitemap/methods/cached-data.js +7 -0
  51. package/dist/es6/impl/sitemap/methods/home-page.js +27 -0
  52. package/dist/es6/impl/sitemap/methods/page-by-id.js +29 -0
  53. package/dist/es6/impl/sitemap/methods/page-by-path.js +52 -0
  54. package/dist/es6/impl/sitemap/methods/pages-by-ids.js +6 -0
  55. package/dist/es6/impl/sitemap/methods/pages-by-paths.js +6 -0
  56. package/dist/es6/impl/sitemap/methods/pages-by-tag-id.js +37 -0
  57. package/dist/es6/impl/sitemap/methods/pages.js +75 -0
  58. package/dist/es6/impl/sitemap/methods/regenerate.js +64 -0
  59. package/dist/es6/impl/sitemap/methods/search.js +97 -0
  60. package/dist/es6/impl/sitemap/methods/status.js +47 -0
  61. package/dist/es6/index.js +2 -0
  62. package/dist/es6/utils/array-to-map.js +7 -0
  63. package/dist/es6/utils/fp-utils.js +5 -0
  64. package/dist/es6/utils/group-by.js +13 -0
  65. package/dist/es6/utils/json-stringify-map-replacer.js +6 -0
  66. package/dist/es6/utils/string-similarity.js +59 -0
  67. package/dist/impl/arboretum-client.impl.js +189 -0
  68. package/dist/impl/data/content-types.js +140 -0
  69. package/dist/impl/data/helpers/__mocks__/mocked-contentful-entries-client-api.js +72 -0
  70. package/dist/impl/data/helpers/entry-status.js +23 -0
  71. package/dist/impl/data/helpers/get-all-entries-recursively.js +117 -0
  72. package/dist/impl/data/helpers/get-all-entries-recursively.test.js +116 -0
  73. package/dist/impl/data/helpers/home-pages-by-tag-id.js +70 -0
  74. package/dist/impl/data/helpers/home-pages-by-tag-id.test.js +107 -0
  75. package/dist/impl/data/helpers/locale-codes-from-metadata.js +11 -0
  76. package/dist/impl/data/helpers/locale-codes-from-metadata.test.js +54 -0
  77. package/dist/impl/data/helpers/parse-locale-tag.js +28 -0
  78. package/dist/impl/data/helpers/parse-locale-tag.test.js +21 -0
  79. package/dist/impl/data/helpers/validate-content-types.js +117 -0
  80. package/dist/impl/data/helpers/validate-content-types.test.js +105 -0
  81. package/dist/impl/data/home-page.js +79 -0
  82. package/dist/impl/data/locales.js +64 -0
  83. package/dist/impl/data/page-entries.js +173 -0
  84. package/dist/impl/data/page-entries.test.js +172 -0
  85. package/dist/impl/data/redirect-entries.js +168 -0
  86. package/dist/impl/data/sitemap-data.js +113 -0
  87. package/dist/impl/sitemap/adapters/page-entry-adapter.js +31 -0
  88. package/dist/impl/sitemap/adapters/redirect-entry-adapter.js +30 -0
  89. package/dist/impl/sitemap/adapters/redirect-to-arboretum-page-adapter.js +15 -0
  90. package/dist/impl/sitemap/adapters/to-arboretum-page-adapter.js +18 -0
  91. package/dist/impl/sitemap/adapters/to-arboretum-page-adapter.test.js +102 -0
  92. package/dist/impl/sitemap/adapters/to-arboretum-page-with-missing-data-adapter.js +20 -0
  93. package/dist/impl/sitemap/helpers/__mocks__/mocked-localized-sitemap.js +189 -0
  94. package/dist/impl/sitemap/helpers/build-localized-sitemap.js +133 -0
  95. package/dist/impl/sitemap/helpers/build-localized-sitemap.test.js +210 -0
  96. package/dist/impl/sitemap/helpers/build-pages-by-tag-eagerly.js +11 -0
  97. package/dist/impl/sitemap/helpers/build-sitemap-eagerly.js +36 -0
  98. package/dist/impl/sitemap/helpers/find-ancestors.js +46 -0
  99. package/dist/impl/sitemap/helpers/find-ancestors.test.js +35 -0
  100. package/dist/impl/sitemap/helpers/find-children.js +13 -0
  101. package/dist/impl/sitemap/helpers/find-children.test.js +41 -0
  102. package/dist/impl/sitemap/helpers/is-root.js +5 -0
  103. package/dist/impl/sitemap/helpers/localize-contentful-field.js +26 -0
  104. package/dist/impl/sitemap/helpers/localize-contentful-field.test.js +139 -0
  105. package/dist/impl/sitemap/helpers/localized-pages-by-tag-id.js +84 -0
  106. package/dist/impl/sitemap/helpers/localized-path.js +8 -0
  107. package/dist/impl/sitemap/helpers/page-ancestors.js +12 -0
  108. package/dist/impl/sitemap/helpers/page-children.js +14 -0
  109. package/dist/impl/sitemap/methods/cached-data.js +11 -0
  110. package/dist/impl/sitemap/methods/home-page.js +31 -0
  111. package/dist/impl/sitemap/methods/page-by-id.js +33 -0
  112. package/dist/impl/sitemap/methods/page-by-path.js +56 -0
  113. package/dist/impl/sitemap/methods/pages-by-ids.js +10 -0
  114. package/dist/impl/sitemap/methods/pages-by-paths.js +10 -0
  115. package/dist/impl/sitemap/methods/pages-by-tag-id.js +41 -0
  116. package/dist/impl/sitemap/methods/pages.js +79 -0
  117. package/dist/impl/sitemap/methods/regenerate.js +68 -0
  118. package/dist/impl/sitemap/methods/search.js +101 -0
  119. package/dist/impl/sitemap/methods/status.js +51 -0
  120. package/dist/index.js +8 -0
  121. package/dist/types/arboretum-client.d.ts +110 -0
  122. package/dist/types/clients/contentful-client/contentful-client.d.ts +95 -0
  123. package/dist/types/clients/contentful-client/impl/contentful-client-impl.d.ts +3 -0
  124. package/dist/types/impl/arboretum-client.impl.d.ts +107 -0
  125. package/dist/types/impl/data/content-types.d.ts +11 -0
  126. package/dist/types/impl/data/helpers/__mocks__/mocked-contentful-entries-client-api.d.ts +7 -0
  127. package/dist/types/impl/data/helpers/entry-status.d.ts +2 -0
  128. package/dist/types/impl/data/helpers/get-all-entries-recursively.d.ts +6 -0
  129. package/dist/types/impl/data/helpers/get-all-entries-recursively.test.d.ts +1 -0
  130. package/dist/types/impl/data/helpers/home-pages-by-tag-id.d.ts +15 -0
  131. package/dist/types/impl/data/helpers/home-pages-by-tag-id.test.d.ts +1 -0
  132. package/dist/types/impl/data/helpers/locale-codes-from-metadata.d.ts +2 -0
  133. package/dist/types/impl/data/helpers/locale-codes-from-metadata.test.d.ts +1 -0
  134. package/dist/types/impl/data/helpers/parse-locale-tag.d.ts +3 -0
  135. package/dist/types/impl/data/helpers/parse-locale-tag.test.d.ts +1 -0
  136. package/dist/types/impl/data/helpers/validate-content-types.d.ts +5 -0
  137. package/dist/types/impl/data/helpers/validate-content-types.test.d.ts +1 -0
  138. package/dist/types/impl/data/home-page.d.ts +3 -0
  139. package/dist/types/impl/data/locales.d.ts +10 -0
  140. package/dist/types/impl/data/page-entries.d.ts +3 -0
  141. package/dist/types/impl/data/page-entries.test.d.ts +1 -0
  142. package/dist/types/impl/data/redirect-entries.d.ts +4 -0
  143. package/dist/types/impl/data/sitemap-data.d.ts +17 -0
  144. package/dist/types/impl/sitemap/adapters/page-entry-adapter.d.ts +6 -0
  145. package/dist/types/impl/sitemap/adapters/redirect-entry-adapter.d.ts +4 -0
  146. package/dist/types/impl/sitemap/adapters/redirect-to-arboretum-page-adapter.d.ts +3 -0
  147. package/dist/types/impl/sitemap/adapters/to-arboretum-page-adapter.d.ts +3 -0
  148. package/dist/types/impl/sitemap/adapters/to-arboretum-page-adapter.test.d.ts +1 -0
  149. package/dist/types/impl/sitemap/adapters/to-arboretum-page-with-missing-data-adapter.d.ts +3 -0
  150. package/dist/types/impl/sitemap/helpers/__mocks__/mocked-localized-sitemap.d.ts +16 -0
  151. package/dist/types/impl/sitemap/helpers/build-localized-sitemap.d.ts +5 -0
  152. package/dist/types/impl/sitemap/helpers/build-localized-sitemap.test.d.ts +1 -0
  153. package/dist/types/impl/sitemap/helpers/build-pages-by-tag-eagerly.d.ts +3 -0
  154. package/dist/types/impl/sitemap/helpers/build-sitemap-eagerly.d.ts +3 -0
  155. package/dist/types/impl/sitemap/helpers/find-ancestors.d.ts +2 -0
  156. package/dist/types/impl/sitemap/helpers/find-ancestors.test.d.ts +1 -0
  157. package/dist/types/impl/sitemap/helpers/find-children.d.ts +2 -0
  158. package/dist/types/impl/sitemap/helpers/find-children.test.d.ts +1 -0
  159. package/dist/types/impl/sitemap/helpers/is-root.d.ts +2 -0
  160. package/dist/types/impl/sitemap/helpers/localize-contentful-field.d.ts +4 -0
  161. package/dist/types/impl/sitemap/helpers/localize-contentful-field.test.d.ts +1 -0
  162. package/dist/types/impl/sitemap/helpers/localized-pages-by-tag-id.d.ts +4 -0
  163. package/dist/types/impl/sitemap/helpers/localized-path.d.ts +1 -0
  164. package/dist/types/impl/sitemap/helpers/page-ancestors.d.ts +3 -0
  165. package/dist/types/impl/sitemap/helpers/page-children.d.ts +5 -0
  166. package/dist/types/impl/sitemap/methods/cached-data.d.ts +3 -0
  167. package/dist/types/impl/sitemap/methods/home-page.d.ts +3 -0
  168. package/dist/types/impl/sitemap/methods/page-by-id.d.ts +3 -0
  169. package/dist/types/impl/sitemap/methods/page-by-path.d.ts +3 -0
  170. package/dist/types/impl/sitemap/methods/pages-by-ids.d.ts +3 -0
  171. package/dist/types/impl/sitemap/methods/pages-by-paths.d.ts +3 -0
  172. package/dist/types/impl/sitemap/methods/pages-by-tag-id.d.ts +3 -0
  173. package/dist/types/impl/sitemap/methods/pages.d.ts +3 -0
  174. package/dist/types/impl/sitemap/methods/regenerate.d.ts +3 -0
  175. package/dist/types/impl/sitemap/methods/search.d.ts +3 -0
  176. package/dist/types/impl/sitemap/methods/status.d.ts +3 -0
  177. package/dist/types/index.d.ts +6 -0
  178. package/dist/types/utils/array-to-map.d.ts +1 -0
  179. package/dist/types/utils/fp-utils.d.ts +11 -0
  180. package/dist/types/utils/group-by.d.ts +1 -0
  181. package/dist/types/utils/json-stringify-map-replacer.d.ts +1 -0
  182. package/dist/types/utils/string-similarity.d.ts +9 -0
  183. package/dist/utils/array-to-map.js +11 -0
  184. package/dist/utils/fp-utils.js +10 -0
  185. package/dist/utils/group-by.js +17 -0
  186. package/dist/utils/json-stringify-map-replacer.js +10 -0
  187. package/dist/utils/string-similarity.js +63 -0
  188. package/docs/.nojekyll +1 -0
  189. package/docs/assets/highlight.css +78 -0
  190. package/docs/assets/main.js +58 -0
  191. package/docs/assets/search.js +1 -0
  192. package/docs/assets/style.css +1367 -0
  193. package/docs/functions/createArboretumClient.html +72 -0
  194. package/docs/functions/createArboretumClientFromCdaClient.html +72 -0
  195. package/docs/functions/createArboretumClientFromCdaParams.html +72 -0
  196. package/docs/functions/createArboretumClientFromCma.html +72 -0
  197. package/docs/index.html +228 -0
  198. package/docs/modules.html +88 -0
  199. package/docs/types/ArboretumAliasT.html +70 -0
  200. package/docs/types/ArboretumClientConfigFromCdaParamsT.html +74 -0
  201. package/docs/types/ArboretumClientConfigFromCdaT.html +79 -0
  202. package/docs/types/ArboretumClientConfigFromCmaT.html +79 -0
  203. package/docs/types/ArboretumClientConfigT.html +63 -0
  204. package/docs/types/ArboretumClientContentfulConfigOptionsT.html +93 -0
  205. package/docs/types/ArboretumClientOptions.html +72 -0
  206. package/docs/types/ArboretumClientOptionsT.html +63 -0
  207. package/docs/types/ArboretumClientT.html +235 -0
  208. package/docs/types/ArboretumPageNodeT.html +63 -0
  209. package/docs/types/ArboretumPageT.html +76 -0
  210. package/docs/types/ArboretumRedirectT.html +70 -0
  211. package/docs/types/CachedDataT.html +63 -0
  212. package/docs/types/Either.html +70 -0
  213. package/docs/types/EitherL.html +75 -0
  214. package/docs/types/EitherR.html +75 -0
  215. package/docs/types/LocaleT.html +63 -0
  216. package/docs/types/OptionsT.html +70 -0
  217. package/logo.svg +12 -0
  218. package/package.json +47 -0
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRedirectContentType = exports.validatePageContentType = void 0;
4
+ var fp_utils_1 = require("../../../utils/fp-utils");
5
+ var contentTypeValidationSuggestion = "Please make sure it is defined in contentful or update arboretum configuration.";
6
+ var failedToFindFieldErrMsg = function (contentTypeId) { return function (fieldId) {
7
+ return "Failed to find field with id: ".concat(fieldId, " in content type with id: ").concat(contentTypeId, ". ").concat(contentTypeValidationSuggestion);
8
+ }; };
9
+ var invalidFieldTypePrefixErrMsg = function (contentTypeId, fieldId) {
10
+ return "Invalid content type field type (content_type: ".concat(contentTypeId, ", field: ").concat(fieldId, ")");
11
+ };
12
+ var invalidFieldTypeErrMsg = function (contentTypeId, fieldId, currentFieldType, expectedFieldType) {
13
+ return "".concat(invalidFieldTypePrefixErrMsg(contentTypeId, fieldId), " - current field type: ").concat(currentFieldType, ", expected: ").concat(expectedFieldType);
14
+ };
15
+ var validatePageContentType = function (pageContentTypeConfig) {
16
+ return function (contentType) {
17
+ var _a, _b, _c, _d;
18
+ var findField = function (id) {
19
+ return contentType === null || contentType === void 0 ? void 0 : contentType.fields.find(function (f) { return f.id === id; });
20
+ };
21
+ var slugFieldId = pageContentTypeConfig.slugFieldId, childPagesFieldId = pageContentTypeConfig.childPagesFieldId, titleFieldId = pageContentTypeConfig.titleFieldId;
22
+ var slugField = findField(slugFieldId);
23
+ var titleField = titleFieldId ? findField(titleFieldId) : undefined;
24
+ var childPagesField = childPagesFieldId
25
+ ? findField(childPagesFieldId)
26
+ : undefined;
27
+ var fieldErrMsg = failedToFindFieldErrMsg(contentType.sys.id);
28
+ var slugFieldExpectedType = "Symbol";
29
+ var titleFieldExpectedType = "Symbol";
30
+ var childPagesFieldExpectedType = "Array";
31
+ var childPagesFieldExpectedItemsType = "Link";
32
+ var childPagesFieldExpectedItemsLinkType = "Entry";
33
+ if (!slugField) {
34
+ return (0, fp_utils_1.left)(fieldErrMsg(slugFieldId));
35
+ }
36
+ else if (slugField.type !== slugFieldExpectedType) {
37
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, slugField.id, slugField.type, slugFieldExpectedType));
38
+ }
39
+ else if (titleFieldId && !titleField) {
40
+ return (0, fp_utils_1.left)(fieldErrMsg(titleFieldId));
41
+ }
42
+ else if (titleFieldId &&
43
+ titleField &&
44
+ titleField.type !== titleFieldExpectedType) {
45
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, titleField.id, titleField.type, titleFieldExpectedType));
46
+ }
47
+ else if (childPagesFieldId && !childPagesField) {
48
+ return (0, fp_utils_1.left)(fieldErrMsg(childPagesFieldId));
49
+ }
50
+ else if (childPagesFieldId &&
51
+ childPagesField &&
52
+ childPagesField.type !== childPagesFieldExpectedType) {
53
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, childPagesField.id, childPagesField.type, childPagesFieldExpectedType));
54
+ }
55
+ else if (childPagesFieldId &&
56
+ childPagesField &&
57
+ ((_a = childPagesField.items) === null || _a === void 0 ? void 0 : _a.type) !== childPagesFieldExpectedItemsType) {
58
+ return (0, fp_utils_1.left)("".concat(invalidFieldTypePrefixErrMsg(contentType.sys.id, childPagesField.id), " - current field items type: ").concat((_b = childPagesField.items) === null || _b === void 0 ? void 0 : _b.type, ", expected: ").concat(childPagesFieldExpectedItemsType));
59
+ }
60
+ else if (childPagesFieldId &&
61
+ childPagesField &&
62
+ ((_c = childPagesField.items) === null || _c === void 0 ? void 0 : _c.linkType) !== childPagesFieldExpectedItemsLinkType) {
63
+ return (0, fp_utils_1.left)("".concat(invalidFieldTypePrefixErrMsg(contentType.sys.id, childPagesField.id), " - current field items link type: ").concat((_d = childPagesField.items) === null || _d === void 0 ? void 0 : _d.linkType, ", expected: ").concat(childPagesFieldExpectedItemsLinkType));
64
+ }
65
+ else {
66
+ return (0, fp_utils_1.right)(contentType);
67
+ }
68
+ };
69
+ };
70
+ exports.validatePageContentType = validatePageContentType;
71
+ var validateRedirectContentType = function (redirectContentTypeConfig) {
72
+ return function (contentType) {
73
+ var findField = function (id) {
74
+ return contentType === null || contentType === void 0 ? void 0 : contentType.fields.find(function (f) { return f.id === id; });
75
+ };
76
+ var pageFieldId = redirectContentTypeConfig.pageFieldId, pathFieldId = redirectContentTypeConfig.pathFieldId, titleFieldId = redirectContentTypeConfig.titleFieldId, typeFieldId = redirectContentTypeConfig.typeFieldId;
77
+ var pageField = findField(pageFieldId);
78
+ var pathField = findField(pathFieldId);
79
+ var typeField = findField(typeFieldId);
80
+ var titleField = titleFieldId ? findField(titleFieldId) : undefined;
81
+ var fieldErrMsg = failedToFindFieldErrMsg(contentType.sys.id);
82
+ var pageFieldExpectedType = "Link";
83
+ var pathFieldExpectedType = "Symbol";
84
+ var typeFieldExpectedType = "Symbol";
85
+ var titleFieldExpectedType = "Symbol";
86
+ if (!pageField) {
87
+ return (0, fp_utils_1.left)(fieldErrMsg(pageFieldId));
88
+ }
89
+ else if (pageField.type !== pageFieldExpectedType) {
90
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, pageField.id, pageField.type, pageFieldExpectedType));
91
+ }
92
+ else if (!pathField) {
93
+ return (0, fp_utils_1.left)(fieldErrMsg(pathFieldId));
94
+ }
95
+ else if (pathField.type !== pathFieldExpectedType) {
96
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, pathField.id, pathField.type, pathFieldExpectedType));
97
+ }
98
+ else if (!typeField) {
99
+ return (0, fp_utils_1.left)(fieldErrMsg(typeFieldId));
100
+ }
101
+ else if (typeField.type !== typeFieldExpectedType) {
102
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, typeField.id, typeField.type, typeFieldExpectedType));
103
+ }
104
+ else if (titleFieldId && !titleField) {
105
+ return (0, fp_utils_1.left)(fieldErrMsg(titleFieldId));
106
+ }
107
+ else if (titleFieldId &&
108
+ titleField &&
109
+ titleField.type !== titleFieldExpectedType) {
110
+ return (0, fp_utils_1.left)(invalidFieldTypeErrMsg(contentType.sys.id, titleField.id, titleField.type, titleFieldExpectedType));
111
+ }
112
+ else {
113
+ return (0, fp_utils_1.right)(contentType);
114
+ }
115
+ };
116
+ };
117
+ exports.validateRedirectContentType = validateRedirectContentType;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var validate_content_types_1 = require("./validate-content-types");
40
+ describe(validate_content_types_1.validatePageContentType, function () {
41
+ var basicSlugFieldId = "slug";
42
+ var basicPageContentType = {
43
+ sys: { id: "page" },
44
+ fields: [
45
+ { id: basicSlugFieldId, localized: false, name: "Slug", type: "Symbol" },
46
+ ],
47
+ };
48
+ var basicPageContentTypeConfig = {
49
+ id: basicPageContentType.sys.id,
50
+ slugFieldId: "slug",
51
+ };
52
+ test("Validate invalid content type configuration", function () {
53
+ var invalidConfig1 = __assign(__assign({}, basicPageContentTypeConfig), { slugFieldId: "invalidSlugId" });
54
+ expect((0, validate_content_types_1.validatePageContentType)(invalidConfig1)(basicPageContentType)._tag).toBe("Left");
55
+ });
56
+ test("Validate content type configuration", function () {
57
+ expect((0, validate_content_types_1.validatePageContentType)(basicPageContentTypeConfig)(basicPageContentType)
58
+ ._tag).toBe("Right");
59
+ var titleFieldId = "title";
60
+ var childPagesFieldId = "childPages";
61
+ var pageContentTypeWithOptionalFields = __assign(__assign({}, basicPageContentType), { fields: __spreadArray(__spreadArray([], __read(basicPageContentType.fields), false), [
62
+ { id: titleFieldId, localized: false, name: "Title", type: "Symbol" },
63
+ {
64
+ id: childPagesFieldId,
65
+ localized: false,
66
+ name: "Child pages",
67
+ type: "Array",
68
+ items: { linkType: "Entry", type: "Link" },
69
+ },
70
+ ], false) });
71
+ var pageContentTypeConfigWithOptionalFields = __assign(__assign({}, basicPageContentTypeConfig), { titleFieldId: titleFieldId, childPagesFieldId: childPagesFieldId });
72
+ expect((0, validate_content_types_1.validatePageContentType)(pageContentTypeConfigWithOptionalFields)(pageContentTypeWithOptionalFields)._tag).toBe("Right");
73
+ });
74
+ });
75
+ describe(validate_content_types_1.validateRedirectContentType, function () {
76
+ var pageFieldId = "page";
77
+ var pathFieldId = "path";
78
+ var typeFieldId = "type";
79
+ var basicRedirectContentType = {
80
+ sys: { id: "redirect" },
81
+ fields: [
82
+ { id: pageFieldId, localized: false, name: "Page", type: "Link" },
83
+ { id: pathFieldId, localized: false, name: "Path", type: "Symbol" },
84
+ { id: typeFieldId, localized: false, name: "Type", type: "Symbol" },
85
+ ],
86
+ };
87
+ var basicRedirectContentTypeConfig = {
88
+ pageFieldId: pageFieldId,
89
+ pathFieldId: pathFieldId,
90
+ typeFieldId: typeFieldId,
91
+ };
92
+ test("Validate invalid content type configuration", function () {
93
+ var invalidConfig1 = __assign(__assign({}, basicRedirectContentTypeConfig), { pathFieldId: "invalidPathId" });
94
+ expect((0, validate_content_types_1.validateRedirectContentType)(invalidConfig1)(basicRedirectContentType)._tag).toBe("Left");
95
+ });
96
+ test("Validate content type configuration", function () {
97
+ expect((0, validate_content_types_1.validateRedirectContentType)(basicRedirectContentTypeConfig)(basicRedirectContentType)._tag).toBe("Right");
98
+ var titleFieldId = "title";
99
+ var redirectContentTypeWithOptionalFields = __assign(__assign({}, basicRedirectContentType), { fields: __spreadArray(__spreadArray([], __read(basicRedirectContentType.fields), false), [
100
+ { id: titleFieldId, localized: false, name: "Title", type: "Symbol" },
101
+ ], false) });
102
+ var redirectContentTypeConfigWithOptionalFields = __assign(__assign({}, basicRedirectContentTypeConfig), { titleFieldId: titleFieldId });
103
+ expect((0, validate_content_types_1.validateRedirectContentType)(redirectContentTypeConfigWithOptionalFields)(redirectContentTypeWithOptionalFields)._tag).toBe("Right");
104
+ });
105
+ });
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.homePages = void 0;
40
+ var homePages = function (ctx, homePageTagId) { return __awaiter(void 0, void 0, void 0, function () {
41
+ var homePages;
42
+ var _a;
43
+ return __generator(this, function (_b) {
44
+ switch (_b.label) {
45
+ case 0: return [4 /*yield*/, ctx.clientApi.getEntries((_a = {},
46
+ _a["metadata.tags.sys.id[in]"] = homePageTagId,
47
+ _a.include = 0,
48
+ _a.select =
49
+ /* For some reason select param causes errors in CMA. I'm getting the following response:
50
+ {
51
+ "status": 400,
52
+ "statusText": "Bad Request",
53
+ "message": "The query you sent was invalid. Probably a filter or ordering specification is not applicable to the type of a field.",
54
+ "details": {
55
+ "errors": [
56
+ {
57
+ "name": "select",
58
+ "details": "Select is only applicable when querying a collection of entities."
59
+ }
60
+ ]
61
+ },
62
+ "request": {
63
+ "url": "/spaces/8h4rcnu50txt/environments/dacjan-test/public/entries",
64
+ "method": "get",
65
+ ...
66
+ },
67
+ }*/
68
+ ctx.contentfulClientType === "cma-client"
69
+ ? undefined
70
+ : ["sys.id", "metadata"].join(","),
71
+ _a.order = "sys.createdAt",
72
+ _a))];
73
+ case 1:
74
+ homePages = (_b.sent()).items;
75
+ return [2 /*return*/, homePages];
76
+ }
77
+ });
78
+ }); };
79
+ exports.homePages = homePages;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.locales = void 0;
40
+ var fp_utils_1 = require("../../utils/fp-utils");
41
+ var array_to_map_1 = require("../../utils/array-to-map");
42
+ var locales = function (ctx) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var locales, defaultLocaleCode;
44
+ var _a;
45
+ return __generator(this, function (_b) {
46
+ switch (_b.label) {
47
+ case 0: return [4 /*yield*/, ctx.clientApi.getLocales()];
48
+ case 1:
49
+ locales = _b.sent();
50
+ defaultLocaleCode = (_a = locales.items.find(function (i) { return i.default; })) === null || _a === void 0 ? void 0 : _a.code;
51
+ if (!defaultLocaleCode) {
52
+ return [2 /*return*/, (0, fp_utils_1.left)("Fatal error! Couldn't find contentful default locale")];
53
+ }
54
+ else {
55
+ return [2 /*return*/, (0, fp_utils_1.right)({
56
+ locales: (0, array_to_map_1.arrayToMap)(function (locale) { return locale.code; })(function (_) { return _; })(locales.items),
57
+ defaultLocaleCode: defaultLocaleCode,
58
+ })];
59
+ }
60
+ return [2 /*return*/];
61
+ }
62
+ });
63
+ }); };
64
+ exports.locales = locales;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ exports.pageEntries = void 0;
76
+ var entry_status_1 = require("./helpers/entry-status");
77
+ var get_all_entries_recursively_1 = require("./helpers/get-all-entries-recursively");
78
+ var array_to_map_1 = require("../../utils/array-to-map");
79
+ var getAllPageEntriesRecursively = function (_a, contentfulClientType, pageContentTypeOpt, skip, acc, select) {
80
+ var getEntries = _a.getEntries;
81
+ return __awaiter(void 0, void 0, void 0, function () {
82
+ var fieldsSelect;
83
+ return __generator(this, function (_b) {
84
+ fieldsSelect = [
85
+ pageContentTypeOpt.slugFieldId,
86
+ pageContentTypeOpt.childPagesFieldId,
87
+ pageContentTypeOpt.titleFieldId,
88
+ ].flatMap(function (id) { return (id ? ["fields.".concat(id)] : []); });
89
+ return [2 /*return*/, (0, get_all_entries_recursively_1.getAllEntriesRecursively)({ getEntries: getEntries }, pageContentTypeOpt.id, skip, acc,
90
+ /* For some reason select param causes errors in CMA. I'm getting the following response:
91
+ {
92
+ "status": 400,
93
+ "statusText": "Bad Request",
94
+ "message": "The query you sent was invalid. Probably a filter or ordering specification is not applicable to the type of a field.",
95
+ "details": {
96
+ "errors": [
97
+ {
98
+ "name": "select",
99
+ "details": "Select is only applicable when querying a collection of entities."
100
+ }
101
+ ]
102
+ },
103
+ "request": {
104
+ "url": "/spaces/8h4rcnu50txt/environments/dacjan-test/public/entries",
105
+ "method": "get",
106
+ ...
107
+ },
108
+ }*/
109
+ select || contentfulClientType === "cma-client"
110
+ ? undefined
111
+ : __spreadArray(["sys", "metadata"], __read(fieldsSelect), false).join(","), pageContentTypeOpt.childPagesFieldId
112
+ ? [pageContentTypeOpt.childPagesFieldId]
113
+ : [])];
114
+ });
115
+ });
116
+ };
117
+ var cmaOnlyEntriesStatusMap = function (_a, contentfulClientType, options) {
118
+ var getEntries = _a.getEntries;
119
+ return __awaiter(void 0, void 0, void 0, function () {
120
+ var pageContentTypes, pageEntries;
121
+ return __generator(this, function (_b) {
122
+ switch (_b.label) {
123
+ case 0:
124
+ pageContentTypes = Object.entries(options.pageContentTypes);
125
+ return [4 /*yield*/, Promise.all(pageContentTypes.map(function (_a) {
126
+ var _b = __read(_a, 2), id = _b[0], fieldIds = _b[1];
127
+ return getAllPageEntriesRecursively({ getEntries: getEntries }, contentfulClientType, __assign({ id: id }, fieldIds), 0, [], "sys");
128
+ }))];
129
+ case 1:
130
+ pageEntries = _b.sent();
131
+ return [2 /*return*/, (0, array_to_map_1.arrayToMap)(function (e) { return e.sys.id; })(function (entry) {
132
+ return (0, entry_status_1.entryStatus)(entry.sys);
133
+ })(pageEntries.flat())];
134
+ }
135
+ });
136
+ });
137
+ };
138
+ var pageEntries = function (ctx, apiClient, cmaPreviewClientApi) { return __awaiter(void 0, void 0, void 0, function () {
139
+ var options, pageContentTypes, pageEntriesPromise, statusRecordPromise, _a, pageEntries, cmaOnlyStatusRecord;
140
+ return __generator(this, function (_b) {
141
+ switch (_b.label) {
142
+ case 0:
143
+ options = ctx.options;
144
+ pageContentTypes = Object.entries(options.pageContentTypes);
145
+ pageEntriesPromise = Promise.all(pageContentTypes.map(function (_a) {
146
+ var _b = __read(_a, 2), id = _b[0], fieldIds = _b[1];
147
+ return getAllPageEntriesRecursively(apiClient, ctx.contentfulClientType, __assign({ id: id }, fieldIds), 0, []);
148
+ }));
149
+ statusRecordPromise = ctx.options.includeEntryStatus &&
150
+ ctx.contentfulClientType === "cma-client" &&
151
+ !ctx.preview &&
152
+ cmaPreviewClientApi
153
+ ? cmaOnlyEntriesStatusMap(cmaPreviewClientApi, ctx.contentfulClientType, ctx.options)
154
+ : Promise.resolve(new Map());
155
+ return [4 /*yield*/, Promise.all([
156
+ pageEntriesPromise,
157
+ statusRecordPromise,
158
+ ])];
159
+ case 1:
160
+ _a = __read.apply(void 0, [_b.sent(), 2]), pageEntries = _a[0], cmaOnlyStatusRecord = _a[1];
161
+ return [2 /*return*/, (0, array_to_map_1.arrayToMap)(function (e) { return e.sys.id; })(function (entry) {
162
+ var cmaOnlyStatus = ctx.contentfulClientType === "cma-client"
163
+ ? (0, entry_status_1.entryStatus)(entry.sys) || cmaOnlyStatusRecord.get(entry.sys.id)
164
+ : undefined;
165
+ if (cmaOnlyStatus) {
166
+ entry.sys = __assign(__assign({}, entry.sys), { cmaOnlyStatus: cmaOnlyStatus });
167
+ }
168
+ return entry;
169
+ })(pageEntries.flat())];
170
+ }
171
+ });
172
+ }); };
173
+ exports.pageEntries = pageEntries;