Web Programming
Different Codings
The objective of this exercise is to write a script
codings.js that allows a text to be encoded with different codings.
Tasks
-
Implement a constructor function
CharCoding(char, code) which creates objects having a character and an associated code.
-
Implement a constructor function
Coding(name, charCodings, delimiter):
name is the name of the coding (e.g. "Morse")
charCodings is an array of character codings
delimiter is the delimiter used to separate charcater codings
-
Add the following functions to the prototype of the
Coding function:
encodeChar(char) returns the encoding of a single character
encode(text) returns the encoding of a text
-
Use the Morse alphabet to define an array of character codings and use the array to create a
morseCoding object.
-
Implement additional codings, for example a
hexCoding that converts characters into their hexadecimal code or a caesarCoding that shifts each letter by one.
-
Add the statement
module.exports = { morseCoding, hexCoding, caesarCoding }; to your script and use the script main.js to test the encoding manually with Node.js:
node main.js
-
(Optional) Install the Jest testing framework and use the script codings.test.js to test the encoding automatically:
npm install jest
npx jest
Solution