first comit
This commit is contained in:
81
api_cuisson.js
Normal file
81
api_cuisson.js
Normal file
@@ -0,0 +1,81 @@
|
||||
// ===================================================================
|
||||
// API de Cuisine pour cuisson de pâtes - Fonctions Asynchrones
|
||||
//
|
||||
// Chaque fonction simule une étape de la préparation et retourne
|
||||
// une Promise. Cette approche modulaire sépare la logique de
|
||||
// chaque action de son orchestration.
|
||||
// ===================================================================
|
||||
|
||||
/**
|
||||
* @typedef {object} ConfigCuisson
|
||||
* @property {number} TEMPS_EBULLITION - Temps en ms pour que l'eau arrive à ébullition.
|
||||
* @property {number} TEMPS_CUISSON_SAUCE - Temps en ms pour préparer la sauce.
|
||||
* @property {number} TEMPS_CUISSON_PATES - Temps en ms pour cuire les pâtes.
|
||||
* @property {number} TEMPS_MELANGE - Temps en ms pour mélanger et servir.
|
||||
*/
|
||||
|
||||
/** @type {ConfigCuisson} */
|
||||
export const config = {
|
||||
TEMPS_EBULLITION: 1500,
|
||||
TEMPS_CUISSON_SAUCE: 1200,
|
||||
TEMPS_CUISSON_PATES: 1000,
|
||||
TEMPS_MELANGE: 400,
|
||||
};
|
||||
|
||||
// --- API de la cuisine (fonctions "promisifiées") ---
|
||||
|
||||
export const apiCuisson = {
|
||||
/**
|
||||
* Simule la mise à ébullition de l'eau.
|
||||
* @returns {Promise<string>} Promesse qui se résout avec 'eau-bouillante'.
|
||||
*/
|
||||
chaufferEau() {
|
||||
return new Promise((resolve) => {
|
||||
console.log(" - L'eau chauffe...");
|
||||
setTimeout(() => {
|
||||
console.log(" -> L'eau est à ébullition.");
|
||||
resolve('eau-bouillante');
|
||||
}, config.TEMPS_EBULLITION);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Simule la préparation de la sauce.
|
||||
* @param {string} typeSauce - Le type de sauce à préparer.
|
||||
* @returns {Promise<string>} Promesse qui se résout avec 'sauce-prete'. Rejette si aucun type n'est fourni.
|
||||
*/
|
||||
preparerSauce(typeSauce) {
|
||||
return new Promise((resolve, reject) => {
|
||||
console.log(` - Préparation de la sauce ${typeSauce}...`);
|
||||
// TODO : compléter comme l'exemple ci-dessus. Gérer le cas où typeSauce est vide ou null en rejetant la promesse avec une erreur.
|
||||
// ... votre code ici ...
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Simule la cuisson des pâtes.
|
||||
* @param {string} typePates - Le type de pâtes à cuire.
|
||||
* @returns {Promise<string>} Promesse qui se résout avec 'pates-cuites'.
|
||||
*/
|
||||
cuirePates(typePates) {
|
||||
return new Promise((resolve) => {
|
||||
console.log(` - Cuisson des ${typePates}...`);
|
||||
// TODO : compléter comme l'exemple chaufferEau ci-dessus.
|
||||
// ... votre code ici ...
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Simule le mélange final et le service.
|
||||
* @param {string} typePates - Le type de pâtes.
|
||||
* @param {string} typeSauce - Le type de sauce.
|
||||
* @returns {Promise<string>} Promesse qui se résout avec le plat final.
|
||||
*/
|
||||
melangerEtServir(typePates, typeSauce) {
|
||||
return new Promise((resolve) => {
|
||||
console.log(" - Mélange des pâtes et de la sauce...");
|
||||
// TODO : compléter comme l'exemple chaufferEau ci-dessus.
|
||||
// ... votre code ici ...
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user