UNPKG

chorecore

Version:

Utilities to simplify many commonly used pieces of code

40 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.symbolFunctions = void 0; var fraction = require("../constants/fractions.json"); var math_1 = require("./math"); var conditionals_1 = require("./conditionals"); var fractionMap = {}; fractionMap[1 / 2] = fraction.ONE_HALF; fractionMap[1 / 3] = fraction.ONE_THIRD; fractionMap[1 / 4] = fraction.ONE_QUARTER; fractionMap[1 / 5] = fraction.ONE_FIFTH; fractionMap[1 / 6] = fraction.ONE_SIXTH; fractionMap[1 / 7] = fraction.ONE_SEVENTH; fractionMap[1 / 8] = fraction.ONE_EIGHTH; fractionMap[1 / 9] = fraction.ONE_NINTH; fractionMap[1 / 10] = fraction.ONE_TENTH; fractionMap[2 / 3] = fraction.TWO_THIRDS; fractionMap[2 / 5] = fraction.TWO_FIFTHS; fractionMap[3 / 4] = fraction.THREE_QUARTERS; fractionMap[3 / 5] = fraction.TWO_FIFTHS; fractionMap[3 / 8] = fraction.THREE_EIGHTHS; fractionMap[4 / 5] = fraction.FOUR_FIFTHS; fractionMap[5 / 6] = fraction.FIVE_SIXTHS; fractionMap[5 / 8] = fraction.FIVE_EIGHTHS; fractionMap[7 / 8] = fraction.SEVEN_EIGHTHS; exports.symbolFunctions = { fractionToSymbol: function (originalVal) { var testVal = typeof originalVal === "string" ? math_1.mathFunctions.parseFractionString(originalVal) : originalVal; var isNegative = testVal < 0; testVal = Math.abs(testVal); if (testVal >= 1 || testVal <= -1) { throw new Error("Expected value to be between 1 and -1, received value: " + testVal); } var symbol = fractionMap[math_1.mathFunctions.closest(testVal, Object.keys(fractionMap).map(function (key) { return +key; }))]; return "" + conditionals_1.conditionalFunctions.isTrue(isNegative, "-") + symbol; } }; //# sourceMappingURL=symbols.js.map