UNPKG

astro-loader-hashnode

Version:

Astro content loader for seamlessly integrating Hashnode blog posts into your Astro website using the Content Layer API

37 lines (36 loc) 1.39 kB
/** * Loaders - Export all Hashnode loaders */ // Base loader export { BaseHashnodeLoader, calculateDigest, LoaderError, paginateResults, flattenPaginatedResults, } from './base.js'; // Posts loader export { PostsLoader, createPostsLoader, postsLoader } from './posts.js'; // Series loader export { SeriesLoader, createSeriesLoader, seriesLoader } from './series.js'; // Search loader export { SearchLoader, createSearchLoader, searchLoader } from './search.js'; // Drafts loader export { DraftsLoader, createDraftsLoader, draftsLoader } from './drafts.js'; // Convenience function to create any loader by type export async function createLoader(type, options) { switch (type) { case 'posts': { const { createPostsLoader } = await import('./posts.js'); return createPostsLoader(options); } case 'series': { const { createSeriesLoader } = await import('./series.js'); return createSeriesLoader(options); } case 'search': { const { createSearchLoader } = await import('./search.js'); return createSearchLoader(options); } case 'drafts': { const { createDraftsLoader } = await import('./drafts.js'); return createDraftsLoader(options); } default: throw new Error(`Unknown loader type: ${type}`); } }