summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/src/frontmatter-injection.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/markdown/remark/src/frontmatter-injection.ts')
-rw-r--r--packages/markdown/remark/src/frontmatter-injection.ts34
1 files changed, 0 insertions, 34 deletions
diff --git a/packages/markdown/remark/src/frontmatter-injection.ts b/packages/markdown/remark/src/frontmatter-injection.ts
deleted file mode 100644
index 91b98ebcb..000000000
--- a/packages/markdown/remark/src/frontmatter-injection.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import type { VFileData as Data, VFile } from 'vfile';
-import type { MarkdownAstroData } from './types.js';
-
-function isValidAstroData(obj: unknown): obj is MarkdownAstroData {
- if (typeof obj === 'object' && obj !== null && obj.hasOwnProperty('frontmatter')) {
- const { frontmatter } = obj as any;
- try {
- // ensure frontmatter is JSON-serializable
- JSON.stringify(frontmatter);
- } catch {
- return false;
- }
- return typeof frontmatter === 'object' && frontmatter !== null;
- }
- return false;
-}
-
-export class InvalidAstroDataError extends TypeError {}
-
-export function safelyGetAstroData(vfileData: Data): MarkdownAstroData | InvalidAstroDataError {
- const { astro } = vfileData;
-
- if (!astro || !isValidAstroData(astro)) {
- return new InvalidAstroDataError();
- }
-
- return astro;
-}
-
-export function setVfileFrontmatter(vfile: VFile, frontmatter: Record<string, any>) {
- vfile.data ??= {};
- vfile.data.astro ??= {};
- (vfile.data.astro as any).frontmatter = frontmatter;
-}