@prezly/theme-kit-nextjs 1.16.0-0 → 1.16.0-1

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 (160) hide show
  1. package/build/adapter-nextjs/api-handlers/fetchGalleries.js +15 -69
  2. package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
  3. package/build/adapter-nextjs/api-handlers/fetchStories.js +17 -71
  4. package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
  5. package/build/adapter-nextjs/api-handlers/index.js +2 -7
  6. package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
  7. package/build/adapter-nextjs/getNewsroomServerSideProps.js +9 -63
  8. package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
  9. package/build/adapter-nextjs/getNewsroomStaticProps.js +9 -63
  10. package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
  11. package/build/adapter-nextjs/index.js +6 -22
  12. package/build/adapter-nextjs/index.js.map +1 -1
  13. package/build/adapter-nextjs/page-props/category.js +95 -202
  14. package/build/adapter-nextjs/page-props/category.js.map +1 -1
  15. package/build/adapter-nextjs/page-props/gallery.js +59 -141
  16. package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
  17. package/build/adapter-nextjs/page-props/galleryAlbum.js +41 -139
  18. package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
  19. package/build/adapter-nextjs/page-props/home.js +58 -142
  20. package/build/adapter-nextjs/page-props/home.js.map +1 -1
  21. package/build/adapter-nextjs/page-props/index.js +8 -41
  22. package/build/adapter-nextjs/page-props/index.js.map +1 -1
  23. package/build/adapter-nextjs/page-props/lib/types.js +1 -2
  24. package/build/adapter-nextjs/page-props/search.js +21 -103
  25. package/build/adapter-nextjs/page-props/search.js.map +1 -1
  26. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +18 -22
  27. package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
  28. package/build/adapter-nextjs/page-props/sitemap/createPaths.js +10 -45
  29. package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
  30. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +29 -81
  31. package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
  32. package/build/adapter-nextjs/page-props/sitemap/index.js +4 -24
  33. package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
  34. package/build/adapter-nextjs/page-props/sitemap/types.js +1 -2
  35. package/build/adapter-nextjs/page-props/story.js +58 -166
  36. package/build/adapter-nextjs/page-props/story.js.map +1 -1
  37. package/build/adapter-nextjs/page-props/storyPreview.js +20 -85
  38. package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
  39. package/build/adapter-nextjs/processRequest.js +9 -24
  40. package/build/adapter-nextjs/processRequest.js.map +1 -1
  41. package/build/adapter-nextjs/processStaticRequest.js +3 -18
  42. package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
  43. package/build/components-nextjs/PageSeo/PageSeo.js +42 -57
  44. package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
  45. package/build/components-nextjs/PageSeo/index.js +2 -20
  46. package/build/components-nextjs/PageSeo/index.js.map +1 -1
  47. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +2 -6
  48. package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
  49. package/build/components-nextjs/PageSeo/lib/types.js +1 -2
  50. package/build/components-nextjs/StorySeo/StorySeo.js +28 -36
  51. package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
  52. package/build/components-nextjs/StorySeo/index.js +1 -5
  53. package/build/components-nextjs/StorySeo/index.js.map +1 -1
  54. package/build/components-nextjs/document.js +16 -72
  55. package/build/components-nextjs/document.js.map +1 -1
  56. package/build/components-nextjs/index.js +3 -9
  57. package/build/components-nextjs/index.js.map +1 -1
  58. package/build/data-fetching/api/PrezlyApi.js +171 -363
  59. package/build/data-fetching/api/PrezlyApi.js.map +1 -1
  60. package/build/data-fetching/api/getPrezlyApi.js +5 -9
  61. package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
  62. package/build/data-fetching/api/index.js +1 -17
  63. package/build/data-fetching/api/index.js.map +1 -1
  64. package/build/data-fetching/api/queries.js +13 -45
  65. package/build/data-fetching/api/queries.js.map +1 -1
  66. package/build/data-fetching/index.js +3 -19
  67. package/build/data-fetching/index.js.map +1 -1
  68. package/build/data-fetching/lib/getAlgoliaSettings.js +6 -10
  69. package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
  70. package/build/data-fetching/lib/getEnvVariables.js +11 -29
  71. package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
  72. package/build/data-fetching/lib/index.js +4 -11
  73. package/build/data-fetching/lib/index.js.map +1 -1
  74. package/build/data-fetching/lib/isSdkError.js +1 -5
  75. package/build/data-fetching/lib/isSdkError.js.map +1 -1
  76. package/build/data-fetching/lib/isUuid.js +2 -6
  77. package/build/data-fetching/lib/isUuid.js.map +1 -1
  78. package/build/data-fetching/types.js +1 -2
  79. package/build/index.js +9 -25
  80. package/build/index.js.map +1 -1
  81. package/build/infinite-loading/index.js +4 -24
  82. package/build/infinite-loading/index.js.map +1 -1
  83. package/build/infinite-loading/types.js +1 -2
  84. package/build/infinite-loading/useInfiniteGalleriesLoading.js +25 -83
  85. package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
  86. package/build/infinite-loading/useInfiniteLoading.js +21 -97
  87. package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
  88. package/build/infinite-loading/useInfiniteStoriesLoading.js +36 -99
  89. package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
  90. package/build/intl/index.js +4 -25
  91. package/build/intl/index.js.map +1 -1
  92. package/build/intl/languages.js +47 -93
  93. package/build/intl/languages.js.map +1 -1
  94. package/build/intl/locale.js +21 -27
  95. package/build/intl/locale.js.map +1 -1
  96. package/build/intl/localeConfig.js +11 -32
  97. package/build/intl/localeConfig.js.map +1 -1
  98. package/build/intl/localeObject.js +30 -49
  99. package/build/intl/localeObject.js.map +1 -1
  100. package/build/newsroom-context/context.js +18 -34
  101. package/build/newsroom-context/context.js.map +1 -1
  102. package/build/newsroom-context/hooks/index.js +11 -27
  103. package/build/newsroom-context/hooks/index.js.map +1 -1
  104. package/build/newsroom-context/hooks/useAlgoliaSettings.js +3 -7
  105. package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
  106. package/build/newsroom-context/hooks/useCategories.js +3 -7
  107. package/build/newsroom-context/hooks/useCategories.js.map +1 -1
  108. package/build/newsroom-context/hooks/useCompanyInformation.js +3 -7
  109. package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
  110. package/build/newsroom-context/hooks/useCurrentCategory.js +3 -7
  111. package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
  112. package/build/newsroom-context/hooks/useCurrentLocale.js +3 -7
  113. package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
  114. package/build/newsroom-context/hooks/useCurrentStory.js +3 -7
  115. package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
  116. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +10 -14
  117. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
  118. package/build/newsroom-context/hooks/useGetTranslationUrl.js +17 -26
  119. package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
  120. package/build/newsroom-context/hooks/useLanguages.js +3 -7
  121. package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
  122. package/build/newsroom-context/hooks/useNewsroom.js +3 -7
  123. package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
  124. package/build/newsroom-context/hooks/useNewsroomContext.js +4 -8
  125. package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
  126. package/build/newsroom-context/index.js +2 -21
  127. package/build/newsroom-context/index.js.map +1 -1
  128. package/build/sentry/client.js +3 -7
  129. package/build/sentry/client.js.map +1 -1
  130. package/build/sentry/common.js +3 -7
  131. package/build/sentry/common.js.map +1 -1
  132. package/build/sentry/index.js +2 -7
  133. package/build/sentry/index.js.map +1 -1
  134. package/build/sentry/server.js +3 -7
  135. package/build/sentry/server.js.map +1 -1
  136. package/build/tsconfig.tsbuildinfo +1 -1
  137. package/build/types.js +1 -2
  138. package/build/utils/boilerplate.js +3 -9
  139. package/build/utils/boilerplate.js.map +1 -1
  140. package/build/utils/constants.js +3 -6
  141. package/build/utils/constants.js.map +1 -1
  142. package/build/utils/getAssetsUrl.js +3 -7
  143. package/build/utils/getAssetsUrl.js.map +1 -1
  144. package/build/utils/getDataRequestLink.js +3 -7
  145. package/build/utils/getDataRequestLink.js.map +1 -1
  146. package/build/utils/getLocalizedCategoryData.js +15 -32
  147. package/build/utils/getLocalizedCategoryData.js.map +1 -1
  148. package/build/utils/getNewsroomLogoUrl.js +6 -12
  149. package/build/utils/getNewsroomLogoUrl.js.map +1 -1
  150. package/build/utils/getPrivacyPortalUrl.js +3 -7
  151. package/build/utils/getPrivacyPortalUrl.js.map +1 -1
  152. package/build/utils/getStoryPublicationDate.js +2 -6
  153. package/build/utils/getStoryPublicationDate.js.map +1 -1
  154. package/build/utils/getUploadcareGroupUrl.js +3 -7
  155. package/build/utils/getUploadcareGroupUrl.js.map +1 -1
  156. package/build/utils/index.js +10 -26
  157. package/build/utils/index.js.map +1 -1
  158. package/build/utils/isEmbargoStory.js +1 -5
  159. package/build/utils/isEmbargoStory.js.map +1 -1
  160. package/package.json +1 -1
@@ -1,115 +1,39 @@
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());
1
+ import { useAsync } from '@react-hookz/web';
2
+ import { useCallback, useEffect, useState } from 'react';
3
+ export function useInfiniteLoading({ fetchingFn, initialData, pagination, }) {
4
+ const [data, setData] = useState(initialData);
5
+ const [currentPage, setCurrentPage] = useState(pagination.currentPage);
6
+ const { itemsTotal, pageSize } = pagination;
7
+ const pagesTotal = Math.ceil(itemsTotal / pageSize);
8
+ const canLoadMore = currentPage < pagesTotal;
9
+ const [{ error, status }, { execute: loadMoreFn }] = useAsync(async () => {
10
+ const nextPage = currentPage + 1;
11
+ const newData = await fetchingFn(nextPage, pageSize);
12
+ setCurrentPage(nextPage);
13
+ setData((currentData) => [...currentData, ...newData]);
9
14
  });
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 (_) 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
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
62
- };
63
- Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.useInfiniteLoading = void 0;
65
- var web_1 = require("@react-hookz/web");
66
- var react_1 = require("react");
67
- function useInfiniteLoading(_a) {
68
- var _this = this;
69
- var fetchingFn = _a.fetchingFn, initialData = _a.initialData, pagination = _a.pagination;
70
- var _b = __read((0, react_1.useState)(initialData), 2), data = _b[0], setData = _b[1];
71
- var _c = __read((0, react_1.useState)(pagination.currentPage), 2), currentPage = _c[0], setCurrentPage = _c[1];
72
- var itemsTotal = pagination.itemsTotal, pageSize = pagination.pageSize;
73
- var pagesTotal = Math.ceil(itemsTotal / pageSize);
74
- var canLoadMore = currentPage < pagesTotal;
75
- var _d = __read((0, web_1.useAsync)(function () { return __awaiter(_this, void 0, void 0, function () {
76
- var nextPage, newData;
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0:
80
- nextPage = currentPage + 1;
81
- return [4 /*yield*/, fetchingFn(nextPage, pageSize)];
82
- case 1:
83
- newData = _a.sent();
84
- setCurrentPage(nextPage);
85
- setData(function (currentData) { return __spreadArray(__spreadArray([], __read(currentData), false), __read(newData), false); });
86
- return [2 /*return*/];
87
- }
88
- });
89
- }); }), 2), _e = _d[0], error = _e.error, status = _e.status, loadMoreFn = _d[1].execute;
90
- var loadMore = (0, react_1.useCallback)(function () {
15
+ const loadMore = useCallback(() => {
91
16
  if (canLoadMore) {
92
17
  loadMoreFn();
93
18
  }
94
19
  }, [canLoadMore, loadMoreFn]);
95
- var resetData = (0, react_1.useCallback)(function () {
20
+ const resetData = useCallback(() => {
96
21
  setData(initialData);
97
22
  setCurrentPage(pagination.currentPage);
98
23
  }, [pagination.currentPage, initialData]);
99
- (0, react_1.useEffect)(function () {
24
+ useEffect(() => {
100
25
  if (error) {
101
26
  // eslint-disable-next-line no-console
102
27
  console.error(error);
103
28
  }
104
29
  }, [error]);
105
30
  return {
106
- canLoadMore: canLoadMore,
107
- currentPage: currentPage,
108
- data: data,
31
+ canLoadMore,
32
+ currentPage,
33
+ data,
109
34
  isLoading: status === 'loading',
110
- loadMore: loadMore,
111
- resetData: resetData,
35
+ loadMore,
36
+ resetData,
112
37
  };
113
38
  }
114
- exports.useInfiniteLoading = useInfiniteLoading;
115
39
  //# sourceMappingURL=useInfiniteLoading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA4C;AAC5C,+BAAyD;AAmBzD,SAAgB,kBAAkB,CAAI,EAItB;IAJhB,iBA6CC;QA5CG,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,UAAU,gBAAA;IAEJ,IAAA,KAAA,OAAkB,IAAA,gBAAQ,EAAM,WAAW,CAAC,IAAA,EAA3C,IAAI,QAAA,EAAE,OAAO,QAA8B,CAAC;IAC7C,IAAA,KAAA,OAAgC,IAAA,gBAAQ,EAAC,UAAU,CAAC,WAAW,CAAC,IAAA,EAA/D,WAAW,QAAA,EAAE,cAAc,QAAoC,CAAC;IAE/D,IAAA,UAAU,GAAe,UAAU,WAAzB,EAAE,QAAQ,GAAK,UAAU,SAAf,CAAgB;IAC5C,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACpD,IAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IAEvC,IAAA,KAAA,OAA+C,IAAA,cAAQ,EAAC;;;;;oBACpD,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;oBACjB,qBAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;;oBAA9C,OAAO,GAAG,SAAoC;oBACpD,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,OAAO,CAAC,UAAC,WAAW,IAAK,8CAAI,WAAW,kBAAK,OAAO,WAA3B,CAA4B,CAAC,CAAC;;;;SAC1D,CAAC,IAAA,EALK,UAAiB,EAAf,KAAK,WAAA,EAAE,MAAM,YAAA,EAAe,UAAU,gBAK7C,CAAC;IAEH,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC;QACzB,IAAI,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,IAAM,SAAS,GAAG,IAAA,mBAAW,EAAC;QAC1B,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1C,IAAA,iBAAS,EAAC;QACN,IAAI,KAAK,EAAE;YACP,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO;QACH,WAAW,aAAA;QACX,WAAW,aAAA;QACX,IAAI,MAAA;QACJ,SAAS,EAAE,MAAM,KAAK,SAAS;QAC/B,QAAQ,UAAA;QACR,SAAS,WAAA;KACZ,CAAC;AACN,CAAC;AA7CD,gDA6CC"}
1
+ {"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAmBzD,MAAM,UAAU,kBAAkB,CAAI,EAClC,UAAU,EACV,WAAW,EACX,UAAU,GACE;IACZ,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAM,WAAW,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEvE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7C,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,KAAK,EAAE;YACP,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO;QACH,WAAW;QACX,WAAW;QACX,IAAI;QACJ,SAAS,EAAE,MAAM,KAAK,SAAS;QAC/B,QAAQ;QACR,SAAS;KACZ,CAAC;AACN,CAAC"}
@@ -1,116 +1,53 @@
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());
1
+ import { useEffect } from 'react';
2
+ import { useCurrentLocale } from '../newsroom-context';
3
+ import { useInfiniteLoading } from './useInfiniteLoading';
4
+ async function fetchStories(page, pageSize, category, locale, include) {
5
+ const result = await fetch('/api/fetch-stories', {
6
+ method: 'POST',
7
+ headers: {
8
+ 'Content-Type': 'application/json',
9
+ },
10
+ body: JSON.stringify({
11
+ page,
12
+ pageSize,
13
+ category,
14
+ include,
15
+ ...(locale && {
16
+ localeCode: locale.toUnderscoreCode(),
17
+ }),
18
+ }),
20
19
  });
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 (_) 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 };
20
+ if (!result.ok) {
21
+ const { message } = await result.json();
22
+ throw new Error(message);
47
23
  }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.useInfiniteStoriesLoading = void 0;
51
- var react_1 = require("react");
52
- var newsroom_context_1 = require("../newsroom-context");
53
- var useInfiniteLoading_1 = require("./useInfiniteLoading");
54
- function fetchStories(page, pageSize, category, locale, include) {
55
- return __awaiter(this, void 0, void 0, function () {
56
- var result, message;
57
- return __generator(this, function (_a) {
58
- switch (_a.label) {
59
- case 0: return [4 /*yield*/, fetch('/api/fetch-stories', {
60
- method: 'POST',
61
- headers: {
62
- 'Content-Type': 'application/json',
63
- },
64
- body: JSON.stringify(__assign({ page: page, pageSize: pageSize, category: category, include: include }, (locale && {
65
- localeCode: locale.toUnderscoreCode(),
66
- }))),
67
- })];
68
- case 1:
69
- result = _a.sent();
70
- if (!!result.ok) return [3 /*break*/, 3];
71
- return [4 /*yield*/, result.json()];
72
- case 2:
73
- message = (_a.sent()).message;
74
- throw new Error(message);
75
- case 3: return [2 /*return*/, result.json()];
76
- }
77
- });
78
- });
24
+ return result.json();
79
25
  }
80
26
  /**
81
27
  * NOTE: This hook depends on the presence of a Next API route (/api/fetch-stories)!
82
28
  * The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
83
29
  * See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
84
30
  */
85
- function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
86
- var _this = this;
87
- var currentLocale = (0, newsroom_context_1.useCurrentLocale)();
88
- var _a = (0, useInfiniteLoading_1.useInfiniteLoading)({
89
- fetchingFn: function (nextPage, pageSize) { return __awaiter(_this, void 0, void 0, function () {
90
- var stories;
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0: return [4 /*yield*/, fetchStories(nextPage, pageSize, category, currentLocale, include)];
94
- case 1:
95
- stories = (_a.sent()).stories;
96
- return [2 /*return*/, stories];
97
- }
98
- });
99
- }); },
31
+ export function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
32
+ const currentLocale = useCurrentLocale();
33
+ const { canLoadMore, data, isLoading, loadMore, resetData } = useInfiniteLoading({
34
+ fetchingFn: async (nextPage, pageSize) => {
35
+ const { stories } = await fetchStories(nextPage, pageSize, category, currentLocale, include);
36
+ return stories;
37
+ },
100
38
  initialData: initialStories,
101
- pagination: pagination,
102
- }), canLoadMore = _a.canLoadMore, data = _a.data, isLoading = _a.isLoading, loadMore = _a.loadMore, resetData = _a.resetData;
103
- (0, react_1.useEffect)(function () {
104
- if (category === null || category === void 0 ? void 0 : category.id) {
39
+ pagination,
40
+ });
41
+ useEffect(() => {
42
+ if (category?.id) {
105
43
  resetData();
106
44
  }
107
- }, [category === null || category === void 0 ? void 0 : category.id, resetData]);
45
+ }, [category?.id, resetData]);
108
46
  return {
109
- canLoadMore: canLoadMore,
110
- isLoading: isLoading,
47
+ canLoadMore,
48
+ isLoading,
111
49
  loadMoreStories: loadMore,
112
50
  stories: data,
113
51
  };
114
52
  }
115
- exports.useInfiniteStoriesLoading = useInfiniteStoriesLoading;
116
53
  //# sourceMappingURL=useInfiniteStoriesLoading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAkC;AAGlC,wDAAuD;AAGvD,2DAA0D;AAE1D,SAAe,YAAY,CACvB,IAAY,EACZ,QAAgB,EAChB,QAAmB,EACnB,MAAqB,EACrB,OAAoC;;;;;wBAErB,qBAAM,KAAK,CAAC,oBAAoB,EAAE;wBAC7C,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACL,cAAc,EAAE,kBAAkB;yBACrC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,YAChB,IAAI,MAAA,EACJ,QAAQ,UAAA,EACR,QAAQ,UAAA,EACR,OAAO,SAAA,IACJ,CAAC,MAAM,IAAI;4BACV,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE;yBACxC,CAAC,EACJ;qBACL,CAAC,EAAA;;oBAdI,MAAM,GAAG,SAcb;yBAEE,CAAC,MAAM,CAAC,EAAE,EAAV,wBAAU;oBACU,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;oBAA/B,OAAO,GAAK,CAAA,SAAmB,CAAA,QAAxB;oBACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;wBAG7B,sBAAO,MAAM,CAAC,IAAI,EAAE,EAAC;;;;CACxB;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACrC,cAAmB,EACnB,UAA2B,EAC3B,QAAmB,EACnB,OAAoC;IAJxC,iBAmCC;IA7BG,IAAM,aAAa,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAEnC,IAAA,KAAwD,IAAA,uCAAkB,EAAI;QAChF,UAAU,EAAE,UAAO,QAAQ,EAAE,QAAQ;;;;4BACb,qBAAM,YAAY,CAClC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,CACV,EAAA;;wBANO,OAAO,GAAK,CAAA,SAMnB,CAAA,QANc;wBAOf,sBAAO,OAAO,EAAC;;;aAClB;QACD,WAAW,EAAE,cAAc;QAC3B,UAAU,YAAA;KACb,CAAC,EAbM,WAAW,iBAAA,EAAE,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAavD,CAAC;IAEH,IAAA,iBAAS,EAAC;QACN,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,EAAE;YACd,SAAS,EAAE,CAAC;SACf;IACL,CAAC,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACH,WAAW,aAAA;QACX,SAAS,WAAA;QACT,eAAe,EAAE,QAAQ;QACzB,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC;AAnCD,8DAmCC"}
1
+ {"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,UAAU,YAAY,CACvB,IAAY,EACZ,QAAgB,EAChB,QAAmB,EACnB,MAAqB,EACrB,OAAoC;IAEpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,GAAG,CAAC,MAAM,IAAI;gBACV,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE;aACxC,CAAC;SACL,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACrC,cAAmB,EACnB,UAA2B,EAC3B,QAAmB,EACnB,OAAoC;IAEpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAI;QAChF,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAClC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,CACV,CAAC;YACF,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,WAAW,EAAE,cAAc;QAC3B,UAAU;KACb,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,EAAE,EAAE,EAAE;YACd,SAAS,EAAE,CAAC;SACf;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACH,WAAW;QACX,SAAS;QACT,eAAe,EAAE,QAAQ;QACzB,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC"}
@@ -1,26 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.localeConfig = void 0;
21
- __exportStar(require("./languages"), exports);
22
- __exportStar(require("./locale"), exports);
23
- var localeConfig_1 = require("./localeConfig");
24
- Object.defineProperty(exports, "localeConfig", { enumerable: true, get: function () { return __importDefault(localeConfig_1).default; } });
25
- __exportStar(require("./localeObject"), exports);
1
+ export * from './languages';
2
+ export * from './locale';
3
+ export { default as localeConfig } from './localeConfig';
4
+ export * from './localeObject';
26
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,2CAAyB;AACzB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,gBAAgB,CAAC"}
@@ -1,13 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getShortestLocaleCode = exports.getCompanyInformation = exports.getLanguageFromStory = exports.getLanguageFromNextLocaleIsoCode = exports.getLanguageByShortRegionCode = exports.getLanguageByNeutralLocaleCode = exports.getLanguageByExactLocaleCode = exports.getUsedLanguages = exports.getDefaultLanguage = exports.getLanguageDisplayName = void 0;
4
- var locale_1 = require("./locale");
5
- var localeObject_1 = require("./localeObject");
1
+ import { DUMMY_DEFAULT_LOCALE } from './locale';
2
+ import { LocaleObject } from './localeObject';
6
3
  function isOnlyCulture(culture, languages) {
7
- var numberOfLanguages = languages.filter(function (_a) {
8
- var language_code = _a.locale.language_code;
9
- return language_code === culture.language_code;
10
- }).length;
4
+ const numberOfLanguages = languages.filter(({ locale: { language_code } }) => language_code === culture.language_code).length;
11
5
  return numberOfLanguages === 1;
12
6
  }
13
7
  /**
@@ -22,102 +16,78 @@ function isOnlyCulture(culture, languages) {
22
16
  * - English (Global), English (UK), Spanish (Spain)
23
17
  * - -> English (Global), English (UK), Spanish
24
18
  */
25
- function getLanguageDisplayName(language, languages) {
26
- var locale = language.locale;
19
+ export function getLanguageDisplayName(language, languages) {
20
+ const { locale } = language;
27
21
  if (isOnlyCulture(locale, languages)) {
28
- var cultureNameIndex = locale.native_name.indexOf('(');
22
+ const cultureNameIndex = locale.native_name.indexOf('(');
29
23
  if (cultureNameIndex !== -1) {
30
24
  return locale.native_name.slice(0, cultureNameIndex - 1);
31
25
  }
32
26
  }
33
27
  return locale.native_name;
34
28
  }
35
- exports.getLanguageDisplayName = getLanguageDisplayName;
36
29
  /**
37
30
  * @returns Language set as default in the Newsroom Settings.
38
31
  */
39
- function getDefaultLanguage(languages) {
40
- return languages.find(function (_a) {
41
- var is_default = _a.is_default;
42
- return is_default;
43
- }) || languages[0];
32
+ export function getDefaultLanguage(languages) {
33
+ return languages.find(({ is_default }) => is_default) || languages[0];
44
34
  }
45
- exports.getDefaultLanguage = getDefaultLanguage;
46
35
  /**
47
36
  * @returns Only languages having at least one published story
48
37
  */
49
- function getUsedLanguages(languages) {
50
- return languages.filter(function (language) { return language.public_stories_count > 0; });
38
+ export function getUsedLanguages(languages) {
39
+ return languages.filter((language) => language.public_stories_count > 0);
51
40
  }
52
- exports.getUsedLanguages = getUsedLanguages;
53
- function getLanguageByExactLocaleCode(languages, locale) {
54
- var localeCode = locale.toUnderscoreCode();
55
- return languages.find(function (_a) {
56
- var code = _a.code;
57
- return code === localeCode;
58
- });
41
+ export function getLanguageByExactLocaleCode(languages, locale) {
42
+ const localeCode = locale.toUnderscoreCode();
43
+ return languages.find(({ code }) => code === localeCode);
59
44
  }
60
- exports.getLanguageByExactLocaleCode = getLanguageByExactLocaleCode;
61
45
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
62
- function getLanguageByNeutralLocaleCode(languages, locale) {
63
- var neutralLanguageCode = locale.toNeutralLanguageCode();
46
+ export function getLanguageByNeutralLocaleCode(languages, locale) {
47
+ const neutralLanguageCode = locale.toNeutralLanguageCode();
64
48
  // Prefer default language
65
- var defaultLanguage = getDefaultLanguage(languages);
49
+ const defaultLanguage = getDefaultLanguage(languages);
66
50
  // TODO: This doesn't align with other methods logic
67
51
  if (defaultLanguage.code === locale.toUnderscoreCode()) {
68
52
  return defaultLanguage;
69
53
  }
70
54
  // Try to look in used cultures first (giving priority to used ones)
71
- var usedLanguages = getUsedLanguages(languages);
72
- var usedLanguage = usedLanguages.find(function (_a) {
73
- var code = _a.code;
74
- return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode;
75
- });
55
+ const usedLanguages = getUsedLanguages(languages);
56
+ const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
76
57
  if (usedLanguage) {
77
58
  return usedLanguage;
78
59
  }
79
60
  // Search in all languages
80
- return languages.find(function (_a) {
81
- var code = _a.code;
82
- return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode;
83
- });
61
+ return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
84
62
  }
85
- exports.getLanguageByNeutralLocaleCode = getLanguageByNeutralLocaleCode;
86
63
  // See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
87
- function getLanguageByShortRegionCode(languages, locale) {
88
- var shortRegionCode = locale.toRegionCode();
64
+ export function getLanguageByShortRegionCode(languages, locale) {
65
+ const shortRegionCode = locale.toRegionCode();
89
66
  // Prefer default language
90
- var defaultLanguage = getDefaultLanguage(languages);
91
- if (localeObject_1.LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
67
+ const defaultLanguage = getDefaultLanguage(languages);
68
+ if (LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
92
69
  return defaultLanguage;
93
70
  }
94
71
  // Try to look in used cultures first (giving priority to used ones)
95
- var usedLanguages = getUsedLanguages(languages);
96
- var usedLanguage = usedLanguages.find(function (_a) {
97
- var code = _a.code;
98
- return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
99
- });
72
+ const usedLanguages = getUsedLanguages(languages);
73
+ const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
100
74
  if (usedLanguage) {
101
75
  return usedLanguage;
102
76
  }
103
77
  // Search in all languages
104
- return languages.find(function (_a) {
105
- var code = _a.code;
106
- return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
107
- });
78
+ return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
108
79
  }
109
- exports.getLanguageByShortRegionCode = getLanguageByShortRegionCode;
110
80
  /**
111
81
  * Retrieve a culture with fallback to legacy codes support.
112
82
  * Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
113
83
  */
114
- function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
115
- var defaultLanguage = getDefaultLanguage(languages);
116
- if (!nextLocaleIsoCode || nextLocaleIsoCode === locale_1.DUMMY_DEFAULT_LOCALE) {
84
+ export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
85
+ const defaultLanguage = getDefaultLanguage(languages);
86
+ if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
117
87
  return defaultLanguage;
118
88
  }
119
- var locale = localeObject_1.LocaleObject.fromAnyCode(nextLocaleIsoCode);
120
- var targetLanguage;
89
+ const locale = LocaleObject.fromAnyCode(nextLocaleIsoCode);
90
+ let targetLanguage;
121
91
  if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
122
92
  // The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
123
93
  targetLanguage =
@@ -130,23 +100,17 @@ function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
130
100
  }
131
101
  return targetLanguage;
132
102
  }
133
- exports.getLanguageFromNextLocaleIsoCode = getLanguageFromNextLocaleIsoCode;
134
- function getLanguageFromStory(languages, story) {
135
- var storyLocaleCode = story.culture.code;
136
- return languages.find(function (_a) {
137
- var code = _a.code;
138
- return code === storyLocaleCode;
139
- });
103
+ export function getLanguageFromStory(languages, story) {
104
+ const { code: storyLocaleCode } = story.culture;
105
+ return languages.find(({ code }) => code === storyLocaleCode);
140
106
  }
141
- exports.getLanguageFromStory = getLanguageFromStory;
142
107
  /**
143
108
  * Extracts company information for the selected locale
144
109
  */
145
- function getCompanyInformation(languages, locale) {
146
- var currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
110
+ export function getCompanyInformation(languages, locale) {
111
+ const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
147
112
  return currentLanguage.company_information;
148
113
  }
149
- exports.getCompanyInformation = getCompanyInformation;
150
114
  /**
151
115
  * Get shortest locale code possible from full locale code
152
116
  * First: try shorting to neutral language code (there should be no locales with the same language code)
@@ -155,36 +119,27 @@ exports.getCompanyInformation = getCompanyInformation;
155
119
  *
156
120
  * @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
157
121
  */
158
- function getShortestLocaleCode(languages, locale) {
159
- var localeCode = locale.toUnderscoreCode();
160
- var defaultLanguage = getDefaultLanguage(languages);
122
+ export function getShortestLocaleCode(languages, locale) {
123
+ const localeCode = locale.toUnderscoreCode();
124
+ const defaultLanguage = getDefaultLanguage(languages);
161
125
  // If it's a default locale, return false (no locale needed in URL)
162
126
  if (localeCode === defaultLanguage.code) {
163
127
  return false;
164
128
  }
165
129
  // Try shorting to neutral language code
166
- var neutralLanguageCode = locale.toNeutralLanguageCode();
167
- var matchingLanguagesByNeutralCode = languages.filter(function (_a) {
168
- var code = _a.code;
169
- return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
170
- code === neutralLanguageCode;
171
- });
130
+ const neutralLanguageCode = locale.toNeutralLanguageCode();
131
+ const matchingLanguagesByNeutralCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
132
+ code === neutralLanguageCode);
172
133
  if (matchingLanguagesByNeutralCode.length === 1) {
173
134
  return neutralLanguageCode;
174
135
  }
175
136
  // Try shorting to region code
176
- var shortRegionCode = locale.toRegionCode();
177
- var matchingLanguagesByRegionCode = languages.filter(function (_a) {
178
- var code = _a.code;
179
- return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
180
- });
137
+ const shortRegionCode = locale.toRegionCode();
138
+ const matchingLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
181
139
  // Prevent collision with neutral language codes
182
- var lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
183
- var mathchingNeutralLanguagesByRegionCode = languages.filter(function (_a) {
184
- var code = _a.code;
185
- return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
186
- code === lowerCasedShortRegionCode;
187
- });
140
+ const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
141
+ const mathchingNeutralLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
142
+ code === lowerCasedShortRegionCode);
188
143
  if (matchingLanguagesByRegionCode.length === 1 &&
189
144
  // If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
190
145
  mathchingNeutralLanguagesByRegionCode.length !== 1 &&
@@ -194,5 +149,4 @@ function getShortestLocaleCode(languages, locale) {
194
149
  }
195
150
  return localeCode;
196
151
  }
197
- exports.getShortestLocaleCode = getShortestLocaleCode;
198
152
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}