forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			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 };
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								});
							 |