15 lines
530 B
TypeScript
15 lines
530 B
TypeScript
// @ts-ignore
|
|
import { defineTransformer } from "@nuxt/content/transformers/utils";
|
|
import { read, utils } from "xlsx";
|
|
import { readFileSync } from "node:fs";
|
|
import { resolve } from 'node:path';
|
|
|
|
export default defineTransformer({
|
|
name: 'sheetformer',
|
|
extensions: ['.xlsx'],
|
|
parse (_id: string, rawContent: string) {
|
|
const wb = read(readFileSync(resolve("./content/" + _id.slice(8))));
|
|
const body = wb.SheetNames.map(name => ({ name, data: utils.sheet_to_json(wb.Sheets[name])}));
|
|
return { _id, body };
|
|
}
|
|
}); |