ZEPPO 🔮 🎸

GitHub CI

Convert between numbers of different bases. 🔮 🎸

ABOUT 📚

Roughly a year ago, I set myself the challenge of implementing a set of functions that could convert between numbers of different bases. I implemented this in Dart and decided to re-write this implementation in Javascript. The Dart implementation can be found here. The bases this library handles are: base 10, base 2, and base 16.

USAGE 🔨

Use Zeppo in a Node.js project

To use Zeppo in a Node.js project, run this command in your project’s root directory:

$ npm install --save-dev zeppo

Be sure to also add the "type":"module" flag to your project’s manifest, package.json.

APIs

Zeppo offers the following functions:

  • reverseArray(array): Reverses the order of an array and returns the reversed array.
  • letterIndex(letter): Gets the index of a letter in the alphabet. Returns zero if the letter isn’t in the alphabet.
  • getLetterFromIndex(index): Gets the letter from a supplied index. Returns an empty string if a letter cannot be found.
  • binToDec(binaryNumber): Converts a base 2 number to a base 10 number.
  • decToBin(decimalNumber): Converts a base 10 number to a base 2 number.
  • hexToDec(hexNumber): Converts a base 16 number to a base 10 number.
  • isBin(expr): Checks whether the supplied string is a binary number or not.
  • isInt(expr): Checks whether the supplied string is an integer or not.
  • testAll(): Tests all of the above.

Example

Here’s a small example:

  • 1.) Initialize a new Node.js project with the following command in a directory of your choosing:
$ npm init -y 
  • 2.) Install Zeppo:
$ npm install --save-dev zeppo
  • 3.) Be sure to add this line to your project’s package.json:
"type":"module",
  • 4.) Create your index.js and put the following code inside it:
// index.js
import zeppo from 'zeppo';

function main(){
  var myNum = 21;
  console.log(zeppo.decToBin(myNum));
  // Should output 21.
  console.log(zeppo.binToDec(decToBin(myNum)));
}

main();
  • 5.) Run the project:
$ node .
  • 6.) Optional: If you’re not sure how to use this project, check out the example project.

CHANGELOG ✒️

Version 1.0.0

  • Initial release.
  • Upload to GitHub.
  • Upload to NPM.

Version 1.1.0

  • New license file.
  • Better documentation.

Version 1.2.0

  • Updated documentation.
  • Added a function to check whether a string is a binary number or not.

Version 1.3.0

  • Updated documentation.
  • Added a function to check whether a string is an integer or not.

Version 1.4.0

  • Updated documentation.
  • Updated, published, and uploaded under my new name.

NOTE 📜

  • Zeppo 🔮 🎸 by Alexander Abraham :black_heart: a.k.a. “Angel Dollface” :dolls: 🎀
  • Licensed under the MIT license.