aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/helpers/pages.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/helpers/pages.ts')
-rw-r--r--src/utils/helpers/pages.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/utils/helpers/pages.ts b/src/utils/helpers/pages.ts
new file mode 100644
index 0000000..d757f8c
--- /dev/null
+++ b/src/utils/helpers/pages.ts
@@ -0,0 +1,26 @@
+import { type PageLink } from '@ts/types/app';
+import {
+ type RawThematicPreview,
+ type RawTopicPreview,
+} from '@ts/types/raw-data';
+
+/**
+ * Convert raw data to a Link object.
+ *
+ * @param data - An object.
+ * @param {number} data.databaseId - The data id.
+ * @param {string} data.slug - The data slug.
+ * @param {string} data.title - The data name.
+ * @returns {PageLink} The link data (id, slug and title).
+ */
+export const getPageLinkFromRawData = (
+ data: RawThematicPreview | RawTopicPreview
+): PageLink => {
+ const { databaseId, slug, title } = data;
+
+ return {
+ id: databaseId,
+ name: title,
+ slug,
+ };
+};