- Work in a fork of this repository.
- Work in a branch on your fork.
- Write all of your code in a directory named
lab-+<your name>e.g.lab-susan. - Open a pull request to this repository.
- Submit on canvas a question and observation, how long you spent, and a link to your pull request.
- Features without unit tests behind them will not be graded.
Configure the root of your repository with the following files and directories. Thoughfully name and organize any aditional configuration or module files.
- README.md - contains documentation
- .gitignore - contains a robust
.gitignorefile - .eslintrc - contains the course linter configuratoin
- .eslintignore - contains the course linter ignore configuration
- lib/ - contains module definitions
- test/ - contains unit tests
Create a NodeJS module in the lib/ directory named greet.js that exports a single function.
- The
greetfunction should have a single parameter (arity of one) that should expect a string as it's input - The
greetfunction should return the input name, concatenated with "hello ": eg. ("hello susan") - The
greetfunction should returnnullif the input is not a string
Create a NodeJS module in the lib/ directory named arithmetic.js that exports an object. This module should have add and sub methods that implament addition and subtraction.
- The
addmethod should have an arity of two (define two paramiters)- If either parameter is a non-number the function should return null
- Else return the sum of the 2 numbers
- The
submethod should have an arity of two (define two paramiters)- If either parameter is a non-number the function should return null
- Else return the second paramiter subtracted from the first paramiter
- Write a test that expects the greet module to return
nullwhen you supply non string values - Write a test the expects the greet module to return
'hello world'- This should happen when invoked with
'world'as the first argument
- This should happen when invoked with
- Test each method for proper use (invoked with number arguments)
- Test each method for inproper use (invoked with one or more non-numner arguments)
In your README.md describe the exported values of each module defined in your lib/ directory. Every function description should include it's airty (expected number of paramiters), the expected data for each paramiter (data-type and limitations), and it's behavior (for both valid and invalued use). Feel free to write any additional information in your README.md.