32 lines
607 B
JavaScript
32 lines
607 B
JavaScript
import pkg from 'node-csv';
|
|
import logger from '#root/utils/logger.js';
|
|
|
|
const { createParser } = pkg
|
|
let recipeData;
|
|
let loaded = false;
|
|
|
|
function parser() {
|
|
const csv = createParser();
|
|
return new Promise((r, j) => {
|
|
csv.parseFile('./recipe.csv', function (err, data) {
|
|
if (err) {
|
|
logger.err(err);
|
|
return j();
|
|
}
|
|
logger('食谱加载成功');
|
|
recipeData = data;
|
|
loaded = true;
|
|
r(recipeData);
|
|
});
|
|
});
|
|
}
|
|
|
|
export default async function getDb() {
|
|
if (loaded) {
|
|
return recipeData;
|
|
} else {
|
|
await parser()
|
|
return recipeData;
|
|
}
|
|
}
|