blob: 170b7484536a51be45c0a8a65c3415e8f6706e86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import { parse as parseToml } from "std/toml/mod.ts";
import {
createNewSlideFromMetadata,
Slide,
SlideMetadataSchema,
} from "./slide.ts";
export async function parseSlideFile(filePath: string): Promise<Slide> {
try {
const root = SlideMetadataSchema.parse(
parseToml(await Deno.readTextFile(filePath)),
);
return createNewSlideFromMetadata(root, filePath);
} catch (e) {
if (e instanceof Error) {
e.message = `${e.message} in ${filePath}`;
}
throw e;
}
}
|