A minimalist library for Roman numeral operations.
- Convert Arabic numerals to Roman numerals Ⅶ
- Convert Roman numerals to Arabic numerals 🔢
- Validate Roman numerals ✅
- Add Roman numerals ➕
- Subtract Roman numerals ➖
- Get Roman numerals within a range 📡
It can be installed with npm.
npm i toroman
const roman = require("toRoman");
/**
* toRoman - Convert an integer to Roman numerals
* @param { number } value Integer to be converted to Roman numerals
* @returns { string } Roman numeral representation of the input value
*/
function toRoman(value: number): string | Error {}
🔵 Example
console.log(roman.toRoman(765));
// Returns DCCLXV
/**
* fromRoman - Convert Roman numeral to integer
* @param { string } value Roman numeral to be converted to integer
* @returns { number } Integer representation of the input value
*/
export function fromRoman(value: string): number | Error {}
🔵 Example
console.log(roman.fromRoman("DCCLXV"));
// Returns 765
/**
* isRoman - Confirm that string is a valid Roman numeral
* @param { string } value String to be tested
* @returns { boolean } true or false
*/
export function isRoman(value: string): true | Error {}
🔵 Example
console.log(roman.isRoman("MMMCCXXXIV"));
// Returns true
/**
* @param args Roman numerals to be added
* @returns { string } Final Roman numeral
*/
export function sum(
expected: "number" | "roman",
...args: string[]
): string | number | Error {}
🔵 Example
console.log(roman.sum("number", "X", "MXC"));
// Returns 1100
/**
* @param expected { string } Expected response type
* @param numerals { string[] } Roman numerals to subtract
* @returns { string | number }
*/
export function diff(expected: "number" | "roman", numerals: string[]) {}
🔵 Example
console.log(roman.diff("number", ["X", "MXC"]));
// Returns 1080
/**
* Get range of Roman numerals
* @param end { string | number } Value to stop at
* @param start { string | number } Value to start from
* @param intervals { string | number } Difference between values
*/
export function range(
end: string | number,
start: string | number = "I",
intervals: string | number = "I"
): string[] | Error {}
🔵 Examples
console.log(roman.range(7));
// Returns [ 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII' ]
console.log(roman.range("IX"));
// Returns [ 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX' ]
console.log(roman.range(12, 7));
// Returns [ 'VII', 'VIII', 'IX', 'X', 'XI', 'XII' ]
console.log(roman.range(12, "IX"));
// Returns [ 'IX', 'X', 'XI', 'XII' ]
console.log(roman.range(22, 3, 5));
// Returns [ 'III', 'VIII', 'XIII', 'XVIII' ]
If you found this project useful or you like what you see, then please consider giving it a ⭐ on Github and sharing it with your social media folks 🙂.