Pages

Projet fs

 Objectifs

Afficher le total du montant d'une catégorie d'achats.


le code suivant permet de créer la structure des achats.

build.js

  1. const fs = require("fs").promises;

  2. const path = require("path");

  3.  

  4. async function createDir(name) {

  5.   try {

  6.     await fs.mkdir(name);

  7.   } catch {

  8.     console.log(`${name} already exists.`);}}

  9.  

  10. async function createFile(dirName) {

  11.   fs.writeFile(path.join(dirName, `${new Date().toISOString().split('T')[0]}.json`),

  12.     JSON.stringify({ total: Math.ceil(1000 * Math.random()) }, null, 2))}

  13.  

  14. async function createPurchases(name) {

  15.   await createDir(path.join(__dirname, name));

  16.   await createFile(path.join(__dirname, name));}

  17.  

  18. async function main() {

  19.   const DB = new Map([

  20.     ['shopping', new Set(["restaurant", "food", "clothing"])],

  21.     ['vacations', new Set(["Paris", "NY"])],

  22.   ]);

  23.   for (const [catName, catSet] of DB) {

  24.     await createDir(catName);

  25.     catSet.forEach(async (item) => {

  26.       await createPurchases(path.join(catName, item));})}}

  27. main();

Lancez > node build.js

Définir le code qui permet d'avoir le total des achats "shopping"


Correction