Files
365devnet/src/utils/fetchPosts.js
2022-08-25 00:46:15 -04:00

26 lines
609 B
JavaScript

import { getNormalizedPost } from "~/utils/getNormalizedPost";
const load = async function () {
const posts = import.meta.glob("~/data/posts/**/*.{md,mdx}", {
eager: true,
});
const normalizedPosts = Object.keys(posts).map(async (key) => {
const post = await posts[key];
return await getNormalizedPost(post);
});
const results = (await Promise.all(normalizedPosts)).sort(
(a, b) => new Date(b.pubDate).valueOf() - new Date(a.pubDate).valueOf()
);
return results;
};
let _posts;
export const fetchPosts = async () => {
_posts = _posts || load();
return await _posts;
};