// esm - Schreibweise mit "import"
import fs from 'node:fs'; // "fs" ist ein Modul aus der Node Standardbib und kann mit Prefix "node:" hervorgehoben werden
import chalk from 'chalk';

const getFileBy = (path, encoding = 'utf-8') => {
  return new Promise((resolve, reject) => {
    // async process
    fs.readFile(path, encoding, (err, data) => {
      if (err) {
        // console.error(err);
        reject(err);
      }

      // console.log(data);
      resolve(data);
    });
  });
};

// Funktionsaufruf von Funktion mit async process
getFileBy('package.json')
  .then((data) => {
    console.log(chalk.yellow(data));
  })
  .catch((err) => {
    console.log(chalk.red(err));
  });
