Files
morten-olsen.github.io/bin/resources/latex/index.ts
Morten Olsen 9b1a067d56 init
2023-03-27 10:46:18 +02:00

30 lines
729 B
TypeScript

import { Asset, Bundler } from "../../bundler";
import { Observable } from "../../observable";
import { createEjs } from "../ejs";
import { latexToPdf } from "./utils";
type LatexOptions = {
path: string;
bundler: Bundler;
template: ReturnType<typeof createEjs>;
data: Observable<any>;
};
const createLatex = ({ template, data, path, bundler }: LatexOptions) => {
const pdf = Observable.combine({
template,
data,
})
.pipe(async ({ template, data }) => template(data))
.pipe(async (latex) => {
const pdf = await latexToPdf(latex);
const asset: Asset = {
content: pdf,
};
return asset;
});
return bundler.register(`${path}.pdf`, pdf);
};
export { createLatex };