mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-28 07:09:50 +00:00
- Synced with upstream fumadocs changes - Accepted upstream changes for all conflicts - Deleted files that no longer exist upstream - Maintains @hanzo package namespace
37 lines
763 B
TypeScript
37 lines
763 B
TypeScript
import type { Source, VirtualFile } from '@hanzo/docs-core/source';
|
|
import type { BaseDocsData, BaseMetaData } from '@/types';
|
|
|
|
export function createMDXSource<Docs extends BaseDocsData, Meta extends BaseMetaData>(
|
|
allDocs: Docs[],
|
|
allMetas: Meta[],
|
|
): Source<{
|
|
metaData: Meta;
|
|
pageData: Docs;
|
|
}> {
|
|
type File = VirtualFile<{
|
|
metaData: Meta;
|
|
pageData: Docs;
|
|
}>;
|
|
|
|
return {
|
|
files: [
|
|
...allDocs.map(
|
|
(v) =>
|
|
({
|
|
type: 'page',
|
|
data: v,
|
|
path: v._meta.filePath,
|
|
}) satisfies File,
|
|
),
|
|
...allMetas.map(
|
|
(v) =>
|
|
({
|
|
type: 'meta',
|
|
data: v,
|
|
path: v._meta.filePath,
|
|
}) satisfies File,
|
|
),
|
|
],
|
|
};
|
|
}
|