30 lines
571 B
JavaScript
30 lines
571 B
JavaScript
import { createParser } from 'node-csv';
|
|
import logger from '#root/utils/logger.js';
|
|
|
|
let recipeData;
|
|
let loaded = false;
|
|
|
|
function parser() {
|
|
csv = createParser();
|
|
return new Promise((r, j) => {
|
|
csv.parserFile('./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 {
|
|
return await parser();
|
|
}
|
|
}
|