Lasagna!

in #ita β€’ 4 months ago

// @ts-check

//

// ☝🏽 The line above enables type checking for this file. Various IDEs interpret

// the @ts-check directive. It will give you helpful autocompletion on the web

// and supported IDEs when implementing this exercise. You don't need to

// understand types, JSDoc, or TypeScript in order to complete this JavaScript

// exercise, and can completely ignore this comment block and directive.

​

// πŸ‘‹πŸ½ Hi there!

//

// On the JavaScript track we provide you with stubs. These stubs provide a

// starting point to solving the exercise.

//

// In general, each variable/constant and each declared function will have a

// JSDoc comment block above it, explaining what the variable/constant holds or

// the function is supposed to accomplish.

//

// πŸ’‘ Often, the JSDoc comment blocks have annotations, such as @param and

// @returns which are usually highlighted with a different color if the IDE

// you're in recognizes them. It's these annotations that are used when

// referring to the constant, variable, or function from somewhere else that

// IDEs display.

//

// You don't need to write these yourself; it is not expected in idiomatic

// JavaScript, but some companies and style-guides do enforce them.

//

// πŸ’‘ You're allowed to completely clear a stub before you get started. Often

// we recommend using the stub, because they are already set-up correctly to

// work with the tests, which you can find in ./lasagna.spec.js

//

// Good luck preparing some lasagna!

​

/**

* The number of minutes it takes to prepare a single layer.

*/

const PREPARATION_MINUTES_PER_LAYER = 2;

​

​

/**

* Determines the number of minutes the lasagna still needs to remain in the

* oven to be properly prepared.

*

* @param {number} actualMinutesInOven

* @returns {number} the number of minutes remaining

*/

​

​

/**

* Given a number of layers, determines the total preparation time.

*

* @param {number} numberOfLayers

* @returns {number} the total preparation time

*/

​

​

export const EXPECTED_MINUTES_IN_OVEN= 40;

​

export function remainingMinutesInOven(actualMinutesInOven) {

return EXPECTED_MINUTES_IN_OVEN-actualMinutesInOven;

throw new Error('Remove this line and implement the function');

}

​

export function preparationTimeInMinutes(numberOfLayers) {

return PREPARATION_MINUTES_PER_LAYER*numberOfLayers;

throw new Error('Remove this line and implement the function');

}

​

​

​

/**

* Calculates the total working time. That is, the time to prepare all the layers

* of lasagna, and the time already spent in the oven.

*

* @param {number} numberOfLayers

* @param {number} actualMinutesInOven

* @returns {number} the total working time

*/

export function totalTimeInMinutes(numberOfLayers, actualMinutesInOven) {

return actualMinutesInOven+preparationTimeInMinutes(numberOfLayers)

throw new Error('Remove this line and implement the function');

}

​

Sort: Β 

Congratulations @drago18121996! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You published more than 2900 posts.
Your next target is to reach 3000 posts.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP