umt 1.1.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -3
- package/module/Advance/index.d.ts +1 -0
- package/module/Advance/rangeAdvance.d.ts +9 -0
- package/module/Array/ArrayWrapper.d.ts +7 -0
- package/module/Array/ArrayWrapper.js +21 -0
- package/module/Array/ArrayWrapper.js.map +1 -0
- package/module/Array/arrayMap.d.ts +1 -0
- package/module/Array/arrayMap.js +8 -0
- package/module/Array/arrayMap.js.map +1 -0
- package/module/Array/arraysJoin.d.ts +3 -3
- package/module/Array/arraysJoin.js +4 -7
- package/module/Array/arraysJoin.js.map +1 -0
- package/module/Array/checkFlagAlignment.d.ts +3 -0
- package/module/Array/checkFlagAlignment.js +26 -0
- package/module/Array/checkFlagAlignment.js.map +1 -0
- package/module/Array/chunk.d.ts +2 -0
- package/module/Array/chunk.js +8 -0
- package/module/Array/chunk.js.map +1 -0
- package/module/Array/getArraysCommon.d.ts +1 -1
- package/module/Array/getArraysCommon.js +6 -6
- package/module/Array/getArraysCommon.js.map +1 -0
- package/module/Array/getArraysDiff.d.ts +1 -1
- package/module/Array/getArraysDiff.js +15 -9
- package/module/Array/getArraysDiff.js.map +1 -0
- package/module/Array/index.d.ts +4 -15
- package/module/Array/index.js +10 -39
- package/module/Array/index.js.map +1 -0
- package/module/Array/quickSort.d.ts +1 -1
- package/module/Array/quickSort.js +8 -10
- package/module/Array/quickSort.js.map +1 -0
- package/module/Array/range.d.ts +3 -0
- package/module/Array/range.js +15 -0
- package/module/Array/range.js.map +1 -0
- package/module/Array/sum.js +4 -7
- package/module/Array/sum.js.map +1 -0
- package/module/Date/getDay.d.ts +6 -0
- package/module/Date/getDay.js +28 -0
- package/module/Date/getDay.js.map +1 -0
- package/module/Date/index.d.ts +2 -14
- package/module/Date/index.js +4 -28
- package/module/Date/index.js.map +1 -0
- package/module/Date/new.d.ts +1 -1
- package/module/Date/new.js +3 -7
- package/module/Date/new.js.map +1 -0
- package/module/Date/now.d.ts +3 -2
- package/module/Date/now.js +3 -6
- package/module/Date/now.js.map +1 -0
- package/module/Math/addition.js +7 -10
- package/module/Math/addition.js.map +1 -0
- package/module/Math/average.js +9 -9
- package/module/Math/average.js.map +1 -0
- package/module/Math/calculator/calculator.d.ts +10 -0
- package/module/Math/calculator/calculator.js +20 -0
- package/module/Math/calculator/calculator.js.map +1 -0
- package/module/Math/calculator/calculatorInitialization.d.ts +3 -1
- package/module/Math/calculator/calculatorInitialization.js +4 -7
- package/module/Math/calculator/calculatorInitialization.js.map +1 -0
- package/module/Math/calculator/convertCurrency.d.ts +10 -0
- package/module/Math/calculator/convertCurrency.js +29 -0
- package/module/Math/calculator/convertCurrency.js.map +1 -0
- package/module/Math/calculator/core.d.ts +3 -7
- package/module/Math/calculator/core.js +116 -76
- package/module/Math/calculator/core.js.map +1 -0
- package/module/Math/calculator/exchange.js +2 -1
- package/module/Math/calculator/exchange.js.map +1 -0
- package/module/Math/calculator/index.d.ts +5 -8
- package/module/Math/calculator/index.js +7 -23
- package/module/Math/calculator/index.js.map +1 -0
- package/module/Math/calculator/literalExpression.d.ts +3 -2
- package/module/Math/calculator/literalExpression.js +47 -44
- package/module/Math/calculator/literalExpression.js.map +1 -0
- package/module/Math/degToRad.js +2 -5
- package/module/Math/degToRad.js.map +1 -0
- package/module/Math/deviationValue.d.ts +4 -4
- package/module/Math/deviationValue.js +6 -11
- package/module/Math/deviationValue.js.map +1 -0
- package/module/Math/division.js +6 -8
- package/module/Math/division.js.map +1 -0
- package/module/Math/factorial.js +2 -5
- package/module/Math/factorial.js.map +1 -0
- package/module/Math/factorize.js +2 -5
- package/module/Math/factorize.js.map +1 -0
- package/module/Math/gcd.d.ts +1 -1
- package/module/Math/gcd.js +9 -13
- package/module/Math/gcd.js.map +1 -0
- package/module/Math/getDecimalLength.js +2 -5
- package/module/Math/getDecimalLength.js.map +1 -0
- package/module/Math/index.d.ts +39 -133
- package/module/Math/index.js +41 -237
- package/module/Math/index.js.map +1 -0
- package/module/Math/isDouble.d.ts +5 -2
- package/module/Math/isDouble.js +10 -12
- package/module/Math/isDouble.js.map +1 -0
- package/module/Math/isNumber.d.ts +4 -3
- package/module/Math/isNumber.js +10 -12
- package/module/Math/isNumber.js.map +1 -0
- package/module/Math/isPrimeNumber.js +5 -34
- package/module/Math/isPrimeNumber.js.map +1 -0
- package/module/Math/isValueNaN.d.ts +1 -0
- package/module/Math/isValueNaN.js +5 -0
- package/module/Math/isValueNaN.js.map +1 -0
- package/module/Math/lcm.js +6 -9
- package/module/Math/lcm.js.map +1 -0
- package/module/Math/mathConverter.d.ts +7 -3
- package/module/Math/mathConverter.js +30 -32
- package/module/Math/mathConverter.js.map +1 -0
- package/module/Math/mathSeparator.d.ts +6 -1
- package/module/Math/mathSeparator.js +23 -12
- package/module/Math/mathSeparator.js.map +1 -0
- package/module/Math/max.js +2 -5
- package/module/Math/max.js.map +1 -0
- package/module/Math/min.js +2 -5
- package/module/Math/min.js.map +1 -0
- package/module/Math/multiples.js +2 -5
- package/module/Math/multiples.js.map +1 -0
- package/module/Math/multiplication.js +4 -7
- package/module/Math/multiplication.js.map +1 -0
- package/module/Math/nCr.d.ts +4 -3
- package/module/Math/nCr.js +15 -18
- package/module/Math/nCr.js.map +1 -0
- package/module/Math/nHr.d.ts +4 -3
- package/module/Math/nHr.js +11 -16
- package/module/Math/nHr.js.map +1 -0
- package/module/Math/nPr.d.ts +4 -3
- package/module/Math/nPr.js +12 -35
- package/module/Math/nPr.js.map +1 -0
- package/module/Math/primeFactorization.js +2 -5
- package/module/Math/primeFactorization.js.map +1 -0
- package/module/Math/quotient.js +2 -5
- package/module/Math/quotient.js.map +1 -0
- package/module/Math/radToDeg.js +2 -5
- package/module/Math/radToDeg.js.map +1 -0
- package/module/Math/random.js +2 -5
- package/module/Math/random.js.map +1 -0
- package/module/Math/reduce.js +5 -8
- package/module/Math/reduce.js.map +1 -0
- package/module/Math/repeatedTrial.js +8 -11
- package/module/Math/repeatedTrial.js.map +1 -0
- package/module/Math/roundOf.js +2 -5
- package/module/Math/roundOf.js.map +1 -0
- package/module/Math/solveEquation.js +13 -16
- package/module/Math/solveEquation.js.map +1 -0
- package/module/Math/standardDeviation.js +5 -8
- package/module/Math/standardDeviation.js.map +1 -0
- package/module/Math/subtract.js +7 -10
- package/module/Math/subtract.js.map +1 -0
- package/module/Math/toBinary.d.ts +1 -5
- package/module/Math/toBinary.js +3 -8
- package/module/Math/toBinary.js.map +1 -0
- package/module/Math/toCelsius.js +3 -6
- package/module/Math/toCelsius.js.map +1 -0
- package/module/Math/toKelvin.js +3 -6
- package/module/Math/toKelvin.js.map +1 -0
- package/module/Math/valueSwap.js +2 -5
- package/module/Math/valueSwap.js.map +1 -0
- package/module/Simple/Date/index.d.ts +1 -5
- package/module/Simple/Date/index.js +3 -13
- package/module/Simple/Date/index.js.map +1 -0
- package/module/Simple/Date/now.d.ts +2 -1
- package/module/Simple/Date/now.js +8 -11
- package/module/Simple/Date/now.js.map +1 -0
- package/module/Simple/Tool/birthday.d.ts +2 -1
- package/module/Simple/Tool/birthday.js +8 -10
- package/module/Simple/Tool/birthday.js.map +1 -0
- package/module/Simple/Tool/dayOfWeekSimple.d.ts +9 -6
- package/module/Simple/Tool/dayOfWeekSimple.js +14 -16
- package/module/Simple/Tool/dayOfWeekSimple.js.map +1 -0
- package/module/Simple/Tool/deviationValueSimple.js +8 -10
- package/module/Simple/Tool/deviationValueSimple.js.map +1 -0
- package/module/Simple/Tool/index.d.ts +3 -13
- package/module/Simple/Tool/index.js +5 -23
- package/module/Simple/Tool/index.js.map +1 -0
- package/module/Simple/index.d.ts +4 -10
- package/module/Simple/index.js +6 -19
- package/module/Simple/index.js.map +1 -0
- package/module/String/index.d.ts +0 -6
- package/module/String/index.js +3 -15
- package/module/String/index.js.map +1 -0
- package/module/String/reverseString.js +2 -5
- package/module/String/reverseString.js.map +1 -0
- package/module/Tool/birthday.d.ts +2 -1
- package/module/Tool/birthday.js +8 -10
- package/module/Tool/birthday.js.map +1 -0
- package/module/Tool/createPipeline.d.ts +15 -0
- package/module/Tool/createPipeline.js +12 -0
- package/module/Tool/createPipeline.js.map +1 -0
- package/module/Tool/dayOfWeek.d.ts +3 -2
- package/module/Tool/dayOfWeek.js +6 -9
- package/module/Tool/dayOfWeek.js.map +1 -0
- package/module/Tool/deleteSpace.d.ts +1 -0
- package/module/Tool/deleteSpace.js +4 -0
- package/module/Tool/deleteSpace.js.map +1 -0
- package/module/Tool/hexToRgba.d.ts +6 -0
- package/module/Tool/hexToRgba.js +14 -0
- package/module/Tool/hexToRgba.js.map +1 -0
- package/module/Tool/index.d.ts +10 -24
- package/module/Tool/index.js +12 -42
- package/module/Tool/index.js.map +1 -0
- package/module/Tool/isArr.d.ts +1 -0
- package/module/Tool/isArr.js +4 -0
- package/module/Tool/isArr.js.map +1 -0
- package/module/Tool/isBrowser.js +2 -4
- package/module/Tool/isBrowser.js.map +1 -0
- package/module/Tool/isNode.js +2 -4
- package/module/Tool/isNode.js.map +1 -0
- package/module/Tool/isNodeWebkit.js +4 -6
- package/module/Tool/isNodeWebkit.js.map +1 -0
- package/module/Tool/isNotEmpty.d.ts +6 -0
- package/module/Tool/isNotEmpty.js +10 -0
- package/module/Tool/isNotEmpty.js.map +1 -0
- package/module/Tool/isObj.d.ts +3 -0
- package/module/Tool/isObj.js +4 -0
- package/module/Tool/isObj.js.map +1 -0
- package/module/Tool/pipeFunction.js +1 -0
- package/module/Tool/pipeFunction.js.map +1 -0
- package/module/Tool/rgbaToHexA.d.ts +6 -0
- package/module/Tool/rgbaToHexA.js +19 -0
- package/module/Tool/rgbaToHexA.js.map +1 -0
- package/module/index.d.ts +7 -18
- package/module/index.js +7 -44
- package/module/index.js.map +1 -0
- package/module/tests/Advance/rangeAdvance.test.d.ts +1 -0
- package/module/tests/Array/arrayMap.test.d.ts +1 -0
- package/module/tests/Array/arrayMap.test.js +8 -0
- package/module/tests/Array/arrayMap.test.js.map +1 -0
- package/module/tests/Array/arraysJoin.test.d.ts +1 -0
- package/module/tests/Array/arraysJoin.test.js +8 -0
- package/module/tests/Array/arraysJoin.test.js.map +1 -0
- package/module/tests/Array/checkFlagAlignment.test.d.ts +1 -0
- package/module/tests/Array/checkFlagAlignment.test.js +130 -0
- package/module/tests/Array/checkFlagAlignment.test.js.map +1 -0
- package/module/tests/Array/chunk.test.d.ts +1 -0
- package/module/tests/Array/chunk.test.js +41 -0
- package/module/tests/Array/chunk.test.js.map +1 -0
- package/module/tests/Array/getArraysCommon.test.d.ts +1 -0
- package/module/tests/Array/getArraysCommon.test.js +9 -0
- package/module/tests/Array/getArraysCommon.test.js.map +1 -0
- package/module/tests/Array/getArraysDiff.test.d.ts +1 -0
- package/module/tests/Array/getArraysDiff.test.js +28 -0
- package/module/tests/Array/getArraysDiff.test.js.map +1 -0
- package/module/tests/Array/quickSort.test.d.ts +1 -0
- package/module/tests/Array/quickSort.test.js +19 -0
- package/module/tests/Array/quickSort.test.js.map +1 -0
- package/module/tests/Array/sum.test.d.ts +1 -0
- package/module/tests/Array/sum.test.js +5 -0
- package/module/tests/Array/sum.test.js.map +1 -0
- package/module/tests/Math/addition.test.d.ts +1 -0
- package/module/tests/Math/addition.test.js +34 -0
- package/module/tests/Math/addition.test.js.map +1 -0
- package/module/tests/Math/average.test.d.ts +1 -0
- package/module/tests/Math/average.test.js +25 -0
- package/module/tests/Math/average.test.js.map +1 -0
- package/module/tests/Math/calculator/calculator.test.d.ts +1 -0
- package/module/tests/Math/calculator/calculator.test.js +63 -0
- package/module/tests/Math/calculator/calculator.test.js.map +1 -0
- package/module/tests/Math/calculator/calculatorInitialization.test.d.ts +1 -0
- package/module/tests/Math/calculator/calculatorInitialization.test.js +7 -0
- package/module/tests/Math/calculator/calculatorInitialization.test.js.map +1 -0
- package/module/tests/Math/calculator/convertCurrency.test.d.ts +1 -0
- package/module/tests/Math/calculator/convertCurrency.test.js +27 -0
- package/module/tests/Math/calculator/convertCurrency.test.js.map +1 -0
- package/module/tests/Math/calculator/exchange.test.d.ts +1 -0
- package/module/tests/Math/calculator/exchange.test.js +9 -0
- package/module/tests/Math/calculator/exchange.test.js.map +1 -0
- package/module/tests/Math/calculator/literalExpression.test.d.ts +1 -0
- package/module/tests/Math/calculator/literalExpression.test.js +44 -0
- package/module/tests/Math/calculator/literalExpression.test.js.map +1 -0
- package/module/tests/Math/degToRad.test.d.ts +1 -0
- package/module/tests/Math/degToRad.test.js +23 -0
- package/module/tests/Math/degToRad.test.js.map +1 -0
- package/module/tests/Math/deviationValue.test.d.ts +1 -0
- package/module/tests/Math/deviationValue.test.js +25 -0
- package/module/tests/Math/deviationValue.test.js.map +1 -0
- package/module/tests/Math/division.test.d.ts +1 -0
- package/module/tests/Math/division.test.js +6 -0
- package/module/tests/Math/division.test.js.map +1 -0
- package/module/tests/Math/factorial.test.d.ts +1 -0
- package/module/tests/Math/factorial.test.js +10 -0
- package/module/tests/Math/factorial.test.js.map +1 -0
- package/module/tests/Math/factorize.test.d.ts +1 -0
- package/module/tests/Math/factorize.test.js +12 -0
- package/module/tests/Math/factorize.test.js.map +1 -0
- package/module/tests/Math/gcd.test.d.ts +1 -0
- package/module/tests/Math/gcd.test.js +30 -0
- package/module/tests/Math/gcd.test.js.map +1 -0
- package/module/tests/Math/getDecimalLength.test.d.ts +1 -0
- package/module/tests/Math/getDecimalLength.test.js +7 -0
- package/module/tests/Math/getDecimalLength.test.js.map +1 -0
- package/module/tests/Math/isDouble.test.d.ts +1 -0
- package/module/tests/Math/isDouble.test.js +29 -0
- package/module/tests/Math/isDouble.test.js.map +1 -0
- package/module/tests/Math/isNumber.test.d.ts +1 -0
- package/module/tests/Math/isNumber.test.js +28 -0
- package/module/tests/Math/isNumber.test.js.map +1 -0
- package/module/tests/Math/isPrimeNumber.test.d.ts +1 -0
- package/module/tests/Math/isPrimeNumber.test.js +32 -0
- package/module/tests/Math/isPrimeNumber.test.js.map +1 -0
- package/module/tests/Math/isValueNaN.test.d.ts +1 -0
- package/module/tests/Math/isValueNaN.test.js +14 -0
- package/module/tests/Math/isValueNaN.test.js.map +1 -0
- package/module/tests/Math/lcm.test.d.ts +1 -0
- package/module/tests/Math/lcm.test.js +20 -0
- package/module/tests/Math/lcm.test.js.map +1 -0
- package/module/tests/Math/mathConverter.test.d.ts +1 -0
- package/module/tests/Math/mathConverter.test.js +26 -0
- package/module/tests/Math/mathConverter.test.js.map +1 -0
- package/module/tests/Math/mathSeparator.test.d.ts +1 -0
- package/module/tests/Math/mathSeparator.test.js +36 -0
- package/module/tests/Math/mathSeparator.test.js.map +1 -0
- package/module/tests/Math/max.test.d.ts +1 -0
- package/module/tests/Math/max.test.js +6 -0
- package/module/tests/Math/max.test.js.map +1 -0
- package/module/tests/Math/min.test.d.ts +1 -0
- package/module/tests/Math/min.test.js +6 -0
- package/module/tests/Math/min.test.js.map +1 -0
- package/module/tests/Math/multiples.test.d.ts +1 -0
- package/module/tests/Math/multiples.test.js +13 -0
- package/module/tests/Math/multiples.test.js.map +1 -0
- package/module/tests/Math/multiplication.test.d.ts +1 -0
- package/module/tests/Math/multiplication.test.js +7 -0
- package/module/tests/Math/multiplication.test.js.map +1 -0
- package/module/tests/Math/nCr.test.d.ts +1 -0
- package/module/tests/Math/nCr.test.js +19 -0
- package/module/tests/Math/nCr.test.js.map +1 -0
- package/module/tests/Math/nHr.test.d.ts +1 -0
- package/module/tests/Math/nHr.test.js +20 -0
- package/module/tests/Math/nHr.test.js.map +1 -0
- package/module/tests/Math/nPr.test.d.ts +1 -0
- package/module/tests/Math/nPr.test.js +19 -0
- package/module/tests/Math/nPr.test.js.map +1 -0
- package/module/tests/Math/primeFactorization.test.d.ts +1 -0
- package/module/tests/Math/primeFactorization.test.js +13 -0
- package/module/tests/Math/primeFactorization.test.js.map +1 -0
- package/module/tests/Math/quotient.test.d.ts +1 -0
- package/module/tests/Math/quotient.test.js +13 -0
- package/module/tests/Math/quotient.test.js.map +1 -0
- package/module/tests/Math/radToDeg.test.d.ts +1 -0
- package/module/tests/Math/radToDeg.test.js +7 -0
- package/module/tests/Math/radToDeg.test.js.map +1 -0
- package/module/tests/Math/reduce.test.d.ts +1 -0
- package/module/tests/Math/reduce.test.js +13 -0
- package/module/tests/Math/reduce.test.js.map +1 -0
- package/module/tests/Math/repeatedTrial.test.d.ts +1 -0
- package/module/tests/Math/repeatedTrial.test.js +5 -0
- package/module/tests/Math/repeatedTrial.test.js.map +1 -0
- package/module/tests/Math/roundOf.test.d.ts +1 -0
- package/module/tests/Math/roundOf.test.js +12 -0
- package/module/tests/Math/roundOf.test.js.map +1 -0
- package/module/tests/Math/solveEquation.test.d.ts +1 -0
- package/module/tests/Math/solveEquation.test.js +33 -0
- package/module/tests/Math/solveEquation.test.js.map +1 -0
- package/module/tests/Math/standardDeviation.test.d.ts +1 -0
- package/module/tests/Math/standardDeviation.test.js +5 -0
- package/module/tests/Math/standardDeviation.test.js.map +1 -0
- package/module/tests/Math/subtract.test.d.ts +1 -0
- package/module/tests/Math/subtract.test.js +7 -0
- package/module/tests/Math/subtract.test.js.map +1 -0
- package/module/tests/Math/toBinary.test.d.ts +1 -0
- package/module/tests/Math/toBinary.test.js +22 -0
- package/module/tests/Math/toBinary.test.js.map +1 -0
- package/module/tests/Math/toCelsius.test.d.ts +1 -0
- package/module/tests/Math/toCelsius.test.js +5 -0
- package/module/tests/Math/toCelsius.test.js.map +1 -0
- package/module/tests/Math/toKelvin.test.d.ts +1 -0
- package/module/tests/Math/toKelvin.test.js +5 -0
- package/module/tests/Math/toKelvin.test.js.map +1 -0
- package/module/tests/Math/valueSwap.test.d.ts +1 -0
- package/module/tests/Math/valueSwap.test.js +9 -0
- package/module/tests/Math/valueSwap.test.js.map +1 -0
- package/module/tests/Simple/Tool/dayOfWeekSimple.test.d.ts +1 -0
- package/module/tests/Simple/Tool/dayOfWeekSimple.test.js +53 -0
- package/module/tests/Simple/Tool/dayOfWeekSimple.test.js.map +1 -0
- package/module/tests/Simple/Tool/deviationValueSimple.test.d.ts +1 -0
- package/module/tests/Simple/Tool/deviationValueSimple.test.js +6 -0
- package/module/tests/Simple/Tool/deviationValueSimple.test.js.map +1 -0
- package/module/tests/Tool/createPipeline.test.d.ts +1 -0
- package/module/tests/Tool/createPipeline.test.js +6 -0
- package/module/tests/Tool/createPipeline.test.js.map +1 -0
- package/module/tests/Tool/dayOfWeek.test.d.ts +1 -0
- package/module/tests/Tool/dayOfWeek.test.js +25 -0
- package/module/tests/Tool/dayOfWeek.test.js.map +1 -0
- package/module/tests/Tool/deleteSpace.test.d.ts +1 -0
- package/module/tests/Tool/deleteSpace.test.js +34 -0
- package/module/tests/Tool/deleteSpace.test.js.map +1 -0
- package/module/tests/Tool/hexToRgba.test.d.ts +1 -0
- package/module/tests/Tool/hexToRgba.test.js +19 -0
- package/module/tests/Tool/hexToRgba.test.js.map +1 -0
- package/module/tests/Tool/isArr.test.d.ts +1 -0
- package/module/tests/Tool/isArr.test.js +18 -0
- package/module/tests/Tool/isArr.test.js.map +1 -0
- package/module/tests/Tool/pipeFunction.test.d.ts +1 -0
- package/module/tests/Tool/pipeFunction.test.js +8 -0
- package/module/tests/Tool/pipeFunction.test.js.map +1 -0
- package/module/tests/Tool/rgbaToHexA.test.d.ts +1 -0
- package/module/tests/Tool/rgbaToHexA.test.js +23 -0
- package/module/tests/Tool/rgbaToHexA.test.js.map +1 -0
- package/module/tsconfig.tsbuildinfo +1 -1
- package/module/types/arrayType.d.ts +4 -0
- package/module/types/arrayType.js +2 -0
- package/module/types/arrayType.js.map +1 -0
- package/module/types/clockType.d.ts +11 -7
- package/module/types/clockType.js +2 -2
- package/module/types/clockType.js.map +1 -0
- package/module/types/dateType.d.ts +8 -6
- package/module/types/dateType.js +2 -2
- package/module/types/dateType.js.map +1 -0
- package/module/types/int.d.ts +103 -2
- package/module/types/int.js +2 -2
- package/module/types/int.js.map +1 -0
- package/module/types/jokeType.d.ts +2 -0
- package/module/types/jokeType.js +2 -0
- package/module/types/jokeType.js.map +1 -0
- package/module/types/logicType.d.ts +83 -1
- package/module/types/logicType.js +2 -2
- package/module/types/logicType.js.map +1 -0
- package/module/types/mathType.d.ts +10 -0
- package/module/types/mathType.js +2 -0
- package/module/types/mathType.js.map +1 -0
- package/package.json +24 -17
- package/module/Date/DateWrapper.d.ts +0 -60
- package/module/Date/DateWrapper.js +0 -172
- package/module/Object/index.d.ts +0 -12
- package/module/Object/index.js +0 -15
- package/module/Object/objectUnion.d.ts +0 -5
- package/module/Object/objectUnion.js +0 -7
package/module/Date/now.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { hoursTypeInt } from "../types/clockType";
|
|
1
2
|
/**
|
|
2
3
|
* タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
|
|
3
|
-
* @param {
|
|
4
|
+
* @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
|
|
4
5
|
* @returns {Date} 現在時刻
|
|
5
6
|
*/
|
|
6
|
-
export declare const now: (timeDifference?:
|
|
7
|
+
export declare const now: (timeDifference?: hoursTypeInt) => Date;
|
package/module/Date/now.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.now = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* タイムゾーンに関係なく、UTCを基準に指定した時差を加えた現在時刻を取得します。
|
|
6
|
-
* @param {
|
|
3
|
+
* @param {hoursTypeInt} [timeDifference=9] UTCからの時差を指定します。デフォルトは日本時間です。
|
|
7
4
|
* @returns {Date} 現在時刻
|
|
8
5
|
*/
|
|
9
|
-
const now = (timeDifference = 9) => {
|
|
6
|
+
export const now = (timeDifference = 9) => {
|
|
10
7
|
return new Date(Date.now() + timeDifference * 60 * 60 * 1000);
|
|
11
8
|
};
|
|
12
|
-
|
|
9
|
+
//# sourceMappingURL=now.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/Date/now.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,iBAA+B,CAAC,EAAQ,EAAE;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAChE,CAAC,CAAC"}
|
package/module/Math/addition.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const getDecimalLength_1 = require("./getDecimalLength");
|
|
5
|
-
const max_1 = require("./max");
|
|
6
|
-
const multiplication_1 = require("./multiplication");
|
|
1
|
+
import { getDecimalLength } from "./getDecimalLength";
|
|
2
|
+
import { max } from "./max";
|
|
3
|
+
import { multiplication } from "./multiplication";
|
|
7
4
|
/**
|
|
8
5
|
* 誤差のない足し算
|
|
9
6
|
* @param {number} x
|
|
10
7
|
* @param {number} y
|
|
11
8
|
* @returns number
|
|
12
9
|
*/
|
|
13
|
-
const addition = (x, y) => {
|
|
14
|
-
const z = Math.pow(10,
|
|
15
|
-
return (
|
|
10
|
+
export const addition = (x, y) => {
|
|
11
|
+
const z = Math.pow(10, max(getDecimalLength(x), getDecimalLength(y)));
|
|
12
|
+
return (multiplication(x, z) + multiplication(y, z)) / z;
|
|
16
13
|
};
|
|
17
|
-
|
|
14
|
+
//# sourceMappingURL=addition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addition.js","sourceRoot":"","sources":["../../src/Math/addition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC/C,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC"}
|
package/module/Math/average.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.average = void 0;
|
|
4
|
-
const addition_1 = require("./addition");
|
|
5
|
-
const division_1 = require("./division");
|
|
1
|
+
import { addition } from "./addition";
|
|
2
|
+
import { division } from "./division";
|
|
6
3
|
/**
|
|
7
4
|
* 平均値
|
|
8
5
|
* @param {number[]} numbers
|
|
9
6
|
* @returns number
|
|
10
7
|
*/
|
|
11
|
-
const average = (numbers) => {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
export const average = (numbers) => {
|
|
9
|
+
if (numbers.length === 0) {
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
const sum = numbers.reduce((a, b) => addition(a, b), 0);
|
|
13
|
+
const avg = division(sum, numbers.length);
|
|
14
14
|
return avg;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
//# sourceMappingURL=average.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"average.js","sourceRoot":"","sources":["../../src/Math/average.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAU,EAAE;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { calculatorCore } from "./core";
|
|
2
|
+
import { literalExpression } from "./literalExpression";
|
|
3
|
+
/**
|
|
4
|
+
* 電卓
|
|
5
|
+
* ()や符号に対応
|
|
6
|
+
* 一文字までの方程式に対応
|
|
7
|
+
* @param {string} x
|
|
8
|
+
* @param {object} exchange 為替
|
|
9
|
+
*/
|
|
10
|
+
export const calculator = (x, exchange) => {
|
|
11
|
+
let copyX = x;
|
|
12
|
+
copyX = copyX.replace(/\s+/g, ""); // Remove spaces
|
|
13
|
+
if (copyX.indexOf("=") !== -1) {
|
|
14
|
+
return literalExpression(copyX); // If the expression contains an equal sign, then it is a literal expression
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return calculatorCore(copyX, exchange);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=calculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/Math/calculator/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAAS,EACT,QAAY,EACZ,EAAE;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,4EAA4E;KAC9G;SAAM;QACL,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACxC;AACH,CAAC,CAAC"}
|
|
@@ -3,4 +3,6 @@
|
|
|
3
3
|
* @param {object} exchange - current exchange rate
|
|
4
4
|
* @return {Function} - calculator
|
|
5
5
|
*/
|
|
6
|
-
export declare const calculatorInitialization: <T extends
|
|
6
|
+
export declare const calculatorInitialization: <T extends {
|
|
7
|
+
[key: string]: string | number;
|
|
8
|
+
}>(exchange: T) => (x: string) => string;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculatorInitialization = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
1
|
+
import { calculator } from "./calculator";
|
|
5
2
|
/**
|
|
6
3
|
* Initializes the calculator.
|
|
7
4
|
* @param {object} exchange - current exchange rate
|
|
8
5
|
* @return {Function} - calculator
|
|
9
6
|
*/
|
|
10
|
-
const calculatorInitialization = (exchange) => {
|
|
7
|
+
export const calculatorInitialization = (exchange) => {
|
|
11
8
|
/**
|
|
12
9
|
* @param {string} x - amount of money
|
|
13
10
|
* @return {string} - converted amount of money
|
|
14
11
|
*/
|
|
15
|
-
return (x) =>
|
|
12
|
+
return (x) => calculator(x, exchange);
|
|
16
13
|
};
|
|
17
|
-
|
|
14
|
+
//# sourceMappingURL=calculatorInitialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculatorInitialization.js","sourceRoot":"","sources":["../../../src/Math/calculator/calculatorInitialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAGtC,QAAW,EACc,EAAE;IAC3B;;;OAGG;IACH,OAAO,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字列内の通貨記号を利用して通貨を換算する。
|
|
3
|
+
*
|
|
4
|
+
* @param inputString - 換算する通貨額を含む文字列
|
|
5
|
+
* @param conversionRates - 通貨記号と換算レートのオブジェクト
|
|
6
|
+
* @returns 換算後の通貨額を文字列で返す。換算できない場合は元の文字列を返す。
|
|
7
|
+
*/
|
|
8
|
+
export declare const convertCurrency: <T extends {
|
|
9
|
+
[key: string]: string | number;
|
|
10
|
+
}>(inputString: string, conversionRates?: T | undefined) => string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isNumber } from "../isNumber";
|
|
2
|
+
import { multiplication } from "../multiplication";
|
|
3
|
+
/**
|
|
4
|
+
* 文字列内の通貨記号を利用して通貨を換算する。
|
|
5
|
+
*
|
|
6
|
+
* @param inputString - 換算する通貨額を含む文字列
|
|
7
|
+
* @param conversionRates - 通貨記号と換算レートのオブジェクト
|
|
8
|
+
* @returns 換算後の通貨額を文字列で返す。換算できない場合は元の文字列を返す。
|
|
9
|
+
*/
|
|
10
|
+
export const convertCurrency = (inputString, conversionRates) => {
|
|
11
|
+
if (!conversionRates) {
|
|
12
|
+
return inputString;
|
|
13
|
+
}
|
|
14
|
+
for (const currencySymbol in conversionRates) {
|
|
15
|
+
if (inputString.startsWith(currencySymbol)) {
|
|
16
|
+
const amountString = inputString.slice(currencySymbol.length);
|
|
17
|
+
const rate = conversionRates[currencySymbol];
|
|
18
|
+
if (isNumber(rate)) {
|
|
19
|
+
const amount = Number(amountString);
|
|
20
|
+
const convertedAmount = multiplication(amount, Number(rate));
|
|
21
|
+
return Number.isNaN(convertedAmount)
|
|
22
|
+
? inputString
|
|
23
|
+
: String(convertedAmount);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return inputString;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=convertCurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertCurrency.js","sourceRoot":"","sources":["../../../src/Math/calculator/convertCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAK7B,WAAmB,EACnB,eAAmB,EACnB,EAAE;IACF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,WAAW,CAAC;KACpB;IAED,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;YAE7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;oBAClC,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC7B;SACF;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* xなどの文字は未対応
|
|
5
|
-
* @param {string} x 計算式
|
|
6
|
-
*/
|
|
7
|
-
export declare const calculatorCore: <T extends object>(x: string, ex?: T | undefined) => string;
|
|
1
|
+
export declare const calculatorCore: <T extends {
|
|
2
|
+
[key: string]: string | number;
|
|
3
|
+
}>(expression: string, currencyExchange?: T | undefined) => string;
|
|
@@ -1,89 +1,129 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* xなどの文字は未対応
|
|
13
|
-
* @param {string} x 計算式
|
|
14
|
-
*/
|
|
15
|
-
const calculatorCore = (x, ex) => {
|
|
16
|
-
let copyX = x;
|
|
17
|
-
//符号反転
|
|
18
|
-
copyX = copyX.replace(/--/g, "+");
|
|
19
|
-
copyX = copyX.replace(/\+\+/g, "+");
|
|
20
|
-
copyX = copyX.replace(/\+-/g, "+0-");
|
|
21
|
-
copyX = copyX.replace(/\-\+/g, "+0-");
|
|
22
|
-
//円計算
|
|
1
|
+
import { addition } from "../../Math/addition";
|
|
2
|
+
import { division } from "../../Math/division";
|
|
3
|
+
import { multiplication } from "../../Math/multiplication";
|
|
4
|
+
import { subtract } from "../../Math/subtract";
|
|
5
|
+
import { isNumber } from "../isNumber";
|
|
6
|
+
import { convertCurrency } from "./convertCurrency";
|
|
7
|
+
export const calculatorCore = (expression, currencyExchange) => {
|
|
8
|
+
let sanitizedExpression = expression;
|
|
9
|
+
// 符号の処理
|
|
10
|
+
sanitizedExpression = sanitizeSigns(sanitizedExpression);
|
|
11
|
+
// 主要な計算ループ
|
|
23
12
|
while (true) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const $ = copyX.match(new RegExp(`\\${i}([0-9]+)`));
|
|
28
|
-
if ($) {
|
|
29
|
-
copyX = copyX.replace($[0], (0, exchange_1.exchange)($[0], ex));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
13
|
+
// 通貨計算
|
|
14
|
+
if (currencyExchange) {
|
|
15
|
+
sanitizedExpression = applyCurrencyExchange(sanitizedExpression, currencyExchange);
|
|
33
16
|
}
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
//括弧の中身を計算
|
|
40
|
-
copyX = copyX.replace(y[0], (0, exports.calculatorCore)(y[0].replace(/\(|\)/g, "")));
|
|
17
|
+
// 括弧の処理
|
|
18
|
+
if (containsParentheses(sanitizedExpression)) {
|
|
19
|
+
const temporary = resolveParentheses(sanitizedExpression);
|
|
20
|
+
if (temporary === NaN.toString()) {
|
|
21
|
+
return sanitizedExpression;
|
|
41
22
|
}
|
|
42
|
-
|
|
43
|
-
|
|
23
|
+
sanitizedExpression = temporary;
|
|
24
|
+
}
|
|
25
|
+
// 乗算、べき乗の処理
|
|
26
|
+
else if (containsMulExp(sanitizedExpression)) {
|
|
27
|
+
const temporary = resolveMulExp(sanitizedExpression);
|
|
28
|
+
if (temporary === NaN.toString()) {
|
|
29
|
+
return sanitizedExpression;
|
|
44
30
|
}
|
|
31
|
+
sanitizedExpression = temporary;
|
|
45
32
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
copyX.match(/\d+\.?(\d+)?(\*|\/|\^)\d+\.?(\d+)?/),
|
|
52
|
-
[""],
|
|
53
|
-
];
|
|
54
|
-
if (y[0]) {
|
|
55
|
-
y[1] = y[0][0].split(/(\d+\.\d+)|(\d+)/g).filter((n) => {
|
|
56
|
-
return typeof n !== "undefined" && n !== "";
|
|
57
|
-
});
|
|
58
|
-
copyX = copyX.replace(y[0][0], `${y[1][1] === "^"
|
|
59
|
-
? Math.pow(+y[1][0], +y[1][2])
|
|
60
|
-
: y[1][1] === "*"
|
|
61
|
-
? (0, multiplication_1.multiplication)(+y[1][0], +y[1][2])
|
|
62
|
-
: y[1][1] === "/"
|
|
63
|
-
? (0, division_1.division)(+y[1][0], +y[1][2])
|
|
64
|
-
: "0"}`);
|
|
33
|
+
// 除算の処理
|
|
34
|
+
else if (containsDiv(sanitizedExpression)) {
|
|
35
|
+
const temporary = resolveDiv(sanitizedExpression);
|
|
36
|
+
if (temporary === NaN.toString()) {
|
|
37
|
+
return sanitizedExpression;
|
|
65
38
|
}
|
|
39
|
+
sanitizedExpression = temporary;
|
|
66
40
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (y[0]) {
|
|
74
|
-
y[1] = y[0][0].split(/(\d+\.\d+)|(\d+)/g).filter((n) => {
|
|
75
|
-
return typeof n !== "undefined" && n !== "";
|
|
76
|
-
});
|
|
77
|
-
copyX = copyX.replace(y[0][0], `${y[1][1] === "+"
|
|
78
|
-
? (0, addition_1.addition)(Number(y[1][0]), Number(y[1][2]))
|
|
79
|
-
: y[1][1] === "-"
|
|
80
|
-
? (0, subtract_1.subtract)(Number(y[1][0]), Number(y[1][2]))
|
|
81
|
-
: "0"}`);
|
|
41
|
+
// 加算と減算の処理
|
|
42
|
+
else if (containsAddSub(sanitizedExpression) &&
|
|
43
|
+
!isNumber(sanitizedExpression)) {
|
|
44
|
+
const temporary = resolveAddSub(sanitizedExpression);
|
|
45
|
+
if (temporary === NaN.toString()) {
|
|
46
|
+
return sanitizedExpression;
|
|
82
47
|
}
|
|
48
|
+
sanitizedExpression = temporary;
|
|
83
49
|
}
|
|
50
|
+
// もう計算するものがなければ結果を返す
|
|
84
51
|
else {
|
|
85
|
-
return
|
|
52
|
+
return sanitizedExpression;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const sanitizeSigns = (expr) => {
|
|
57
|
+
return expr
|
|
58
|
+
.replaceAll("--", "+")
|
|
59
|
+
.replaceAll("++", "+")
|
|
60
|
+
.replaceAll("+-", "+0-")
|
|
61
|
+
.replaceAll("-+", "+0-");
|
|
62
|
+
};
|
|
63
|
+
const applyCurrencyExchange = (expr, rates) => {
|
|
64
|
+
let returnExpr = expr;
|
|
65
|
+
// 通貨の交換ロジック
|
|
66
|
+
for (const index in rates) {
|
|
67
|
+
if (returnExpr.includes(index)) {
|
|
68
|
+
const $ = returnExpr.match(new RegExp(`\\${index}([0-9]+)`));
|
|
69
|
+
if ($) {
|
|
70
|
+
returnExpr = returnExpr.replace($[0], convertCurrency($[0], rates));
|
|
71
|
+
}
|
|
86
72
|
}
|
|
87
73
|
}
|
|
74
|
+
return returnExpr;
|
|
75
|
+
};
|
|
76
|
+
const containsParentheses = (expr) => {
|
|
77
|
+
return expr.includes("(") || expr.includes(")");
|
|
78
|
+
};
|
|
79
|
+
const resolveParentheses = (expr) => {
|
|
80
|
+
// 括弧内の計算ロジック
|
|
81
|
+
const match = expr.match(/\(\d+\.?(\d+)?([*+/-])\d+\.?(\d+)?\)/);
|
|
82
|
+
if (match) {
|
|
83
|
+
return expr.replace(match[0], calculatorCore(match[0].replaceAll(/\(|\)/g, "")));
|
|
84
|
+
}
|
|
85
|
+
return NaN.toString();
|
|
86
|
+
};
|
|
87
|
+
const containsMulExp = (expr) => {
|
|
88
|
+
return expr.includes("^") || expr.includes("*");
|
|
89
|
+
};
|
|
90
|
+
const containsDiv = (expr) => {
|
|
91
|
+
return expr.includes("/");
|
|
92
|
+
};
|
|
93
|
+
const resolveMulExp = (expr) => {
|
|
94
|
+
// 乗算、べき乗の計算ロジック
|
|
95
|
+
const match = expr.match(/(.*?)(\d+\.?(\d+)?([*^])\d+\.?(\d+)?$)/);
|
|
96
|
+
if (match) {
|
|
97
|
+
const operands = match[2].split(/([*/^])/);
|
|
98
|
+
const result = operands[1] === "^"
|
|
99
|
+
? Math.pow(Number(operands[0]), Number(operands[2]))
|
|
100
|
+
: multiplication(Number(operands[0]), Number(operands[2]));
|
|
101
|
+
return `${match[1]}${result}`;
|
|
102
|
+
}
|
|
103
|
+
return NaN.toString();
|
|
104
|
+
};
|
|
105
|
+
const resolveDiv = (expr) => {
|
|
106
|
+
// 除算の計算ロジック
|
|
107
|
+
const match = expr.match(/\d+\.?(\d+)?(\/)\d+\.?(\d+)?/);
|
|
108
|
+
if (match) {
|
|
109
|
+
const operands = match[0].split(/(\/)/);
|
|
110
|
+
const result = division(Number(operands[0]), Number(operands[2]));
|
|
111
|
+
return expr.replace(match[0], String(result));
|
|
112
|
+
}
|
|
113
|
+
return NaN.toString();
|
|
114
|
+
};
|
|
115
|
+
const containsAddSub = (expr) => {
|
|
116
|
+
return expr.includes("+") || expr.includes("-");
|
|
117
|
+
};
|
|
118
|
+
const resolveAddSub = (expr) => {
|
|
119
|
+
// 加算、減算の計算ロジック
|
|
120
|
+
const match = expr.match(/(-?\d+)\.?(\d+)?(\+|-)(-?\d+)\.?(\d+)?/);
|
|
121
|
+
if (match) {
|
|
122
|
+
const result = match[3] === "+"
|
|
123
|
+
? addition(Number(match[1]), Number(match[4]))
|
|
124
|
+
: subtract(Number(match[1]), Number(match[4]));
|
|
125
|
+
return expr.replace(match[0], String(result));
|
|
126
|
+
}
|
|
127
|
+
return NaN.toString();
|
|
88
128
|
};
|
|
89
|
-
|
|
129
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Math/calculator/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAkB,EAClB,gBAAoB,EACZ,EAAE;IACV,IAAI,mBAAmB,GAAG,UAAU,CAAC;IAErC,QAAQ;IACR,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAEzD,WAAW;IACX,OAAO,IAAI,EAAE;QACX,OAAO;QACP,IAAI,gBAAgB,EAAE;YACpB,mBAAmB,GAAG,qBAAqB,CACzC,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;SACH;QAED,QAAQ;QACR,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,EAAE;YAC5C,MAAM,SAAS,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;YAC1D,IAAI,SAAS,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAChC,OAAO,mBAAmB,CAAC;aAC5B;YACD,mBAAmB,GAAG,SAAS,CAAC;SACjC;QAED,YAAY;aACP,IAAI,cAAc,CAAC,mBAAmB,CAAC,EAAE;YAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;YACrD,IAAI,SAAS,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAChC,OAAO,mBAAmB,CAAC;aAC5B;YACD,mBAAmB,GAAG,SAAS,CAAC;SACjC;QAED,QAAQ;aACH,IAAI,WAAW,CAAC,mBAAmB,CAAC,EAAE;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAClD,IAAI,SAAS,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAChC,OAAO,mBAAmB,CAAC;aAC5B;YACD,mBAAmB,GAAG,SAAS,CAAC;SACjC;QAED,WAAW;aACN,IACH,cAAc,CAAC,mBAAmB,CAAC;YACnC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAC9B;YACA,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;YACrD,IAAI,SAAS,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAChC,OAAO,mBAAmB,CAAC;aAC5B;YACD,mBAAmB,GAAG,SAAS,CAAC;SACjC;QAED,qBAAqB;aAChB;YACH,OAAO,mBAAmB,CAAC;SAC5B;KACF;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,OAAO,IAAI;SACR,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;SACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,IAAY,EACZ,KAAQ,EACA,EAAE;IACV,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,YAAY;IACZ,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;QACzB,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE;gBACL,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACrE;SACF;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE;IAClD,aAAa;IACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACjE,IAAI,KAAK,EAAE;QACT,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,CAAC,CAAC,CAAC,EACR,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAClD,CAAC;KACH;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE;IAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,gBAAgB;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACnE,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GACV,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;YACjB,CAAC,CAAC,SAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;KAC/B;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,YAAY;IACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/C;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,eAAe;IACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACnE,IAAI,KAAK,EAAE;QACT,MAAM,MAAM,GACV,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YACd,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/C;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ const exchange = (n, props) => {
|
|
|
11
11
|
if (n.indexOf(i) !== -1) {
|
|
12
12
|
if ((0, isNumber_1.isNumber)(props[i])) {
|
|
13
13
|
const x = (0, multiplication_1.multiplication)(Number(n.slice(i.length)), Number(props[i]));
|
|
14
|
-
if (isNaN(x)) {
|
|
14
|
+
if (Number.isNaN(x)) {
|
|
15
15
|
return n;
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
@@ -30,3 +30,4 @@ const exchange = (n, props) => {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
exports.exchange = exchange;
|
|
33
|
+
//# sourceMappingURL=exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../src/Math/calculator/exchange.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,sDAAmD;AACnD,qGAAqG;AACrG,kCAAkC;AAC3B,MAAM,QAAQ,GAAG,CAAmB,CAAS,EAAE,KAAS,EAAE,EAAE;IACjE,IAAI,KAAK,EAAE;QACT,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBACvB,IAAI,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACtB,MAAM,CAAC,GAAG,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBACnB,OAAO,CAAC,CAAC;qBACV;yBAAM;wBACL,OAAO,MAAM,CACX,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;qBACH;iBACF;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,CAAC,CAAC;KACV;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC,CAAC;AAtBW,QAAA,QAAQ,YAsBnB"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @param {object} exchange 為替
|
|
7
|
-
*/
|
|
8
|
-
export declare const calculator: <T extends object>(x: string, exchange?: T | undefined) => string;
|
|
1
|
+
export * from "./calculator";
|
|
2
|
+
export * from "./calculatorInitialization";
|
|
3
|
+
export * from "./convertCurrency";
|
|
4
|
+
export * from "./core";
|
|
5
|
+
export * from "./literalExpression";
|
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* ()や符号に対応
|
|
9
|
-
* 一文字までの方程式に対応
|
|
10
|
-
* @param {string} x
|
|
11
|
-
* @param {object} exchange 為替
|
|
12
|
-
*/
|
|
13
|
-
const calculator = (x, exchange) => {
|
|
14
|
-
let copyX = x;
|
|
15
|
-
copyX = copyX.replace(/\s+/g, ""); // Remove spaces
|
|
16
|
-
if (copyX.indexOf("=") !== -1) {
|
|
17
|
-
return (0, literalExpression_1.literalExpression)(copyX); // If the expression contains an equal sign, then it is a literal expression
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return (0, core_1.calculatorCore)(copyX, exchange);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
exports.calculator = calculator;
|
|
1
|
+
import { calculator } from "./calculator";
|
|
2
|
+
import { calculatorInitialization } from "./calculatorInitialization";
|
|
3
|
+
import { convertCurrency } from "./convertCurrency";
|
|
4
|
+
import { calculatorCore } from "./core";
|
|
5
|
+
import { literalExpression } from "./literalExpression";
|
|
6
|
+
export { calculator, calculatorInitialization, calculatorCore, convertCurrency, literalExpression, };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Math/calculator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,CAAC"}
|
|
@@ -1,55 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const division_1 = require("../division");
|
|
5
|
-
const gcd_1 = require("../gcd");
|
|
6
|
-
const core_1 = require("./core");
|
|
1
|
+
import { division } from "../division";
|
|
2
|
+
import { gcd } from "../gcd";
|
|
3
|
+
import { calculatorCore } from "./core";
|
|
7
4
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
5
|
+
* 文字式の方程式を計算する
|
|
6
|
+
* @param x 方程式の文字列
|
|
7
|
+
* @returns 計算結果
|
|
10
8
|
*/
|
|
11
|
-
const literalExpression = (x) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
export const literalExpression = (x) => {
|
|
10
|
+
// 方程式の数値と変数部分を格納
|
|
11
|
+
let numericalPart = "";
|
|
12
|
+
let variablePart = [];
|
|
13
|
+
// 等号で分割し、数値と変数部分を識別
|
|
14
|
+
for (const part of x.split("=")) {
|
|
15
|
+
if (/[A-Za-z]+/.test(part)) {
|
|
16
|
+
variablePart = part
|
|
17
|
+
.split(/(\d+[A-Za-z]+)|([^A-Za-z]+)/)
|
|
18
|
+
.filter((n) => n && n !== undefined);
|
|
16
19
|
}
|
|
17
20
|
else {
|
|
18
|
-
|
|
19
|
-
.split(/([0-9]+[a-zA-Z]+)|([^a-zA-Z]+)/)
|
|
20
|
-
.filter((n) => n !== "" && typeof n !== "undefined");
|
|
21
|
+
numericalPart = part;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
if (cache[0][1].indexOf("plus") !== 1) {
|
|
32
|
-
cache[0][1] = cache[0][1].replace(/plus/g, "-");
|
|
33
|
-
}
|
|
34
|
-
if (cache[0][1].indexOf("minus") !== 1) {
|
|
35
|
-
cache[0][1] = cache[0][1].replace(/minus/g, "+");
|
|
36
|
-
}
|
|
24
|
+
// 変数部分の計算
|
|
25
|
+
if (variablePart[1]) {
|
|
26
|
+
variablePart[1] = calculatorCore(variablePart[1])
|
|
27
|
+
.replaceAll("+", "plus")
|
|
28
|
+
.replaceAll("-", "minus")
|
|
29
|
+
.replaceAll("plus", "-")
|
|
30
|
+
.replaceAll("minus", "+");
|
|
37
31
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
// 数値部分の計算
|
|
33
|
+
numericalPart = variablePart[1]
|
|
34
|
+
? calculatorCore(`${numericalPart}${variablePart[1]}`)
|
|
35
|
+
: calculatorCore(numericalPart);
|
|
36
|
+
// 変数部分を再分割
|
|
37
|
+
variablePart = variablePart[0]
|
|
38
|
+
.split(/(\d+)|([A-Za-z]+)/)
|
|
39
|
+
.filter((n) => n && n !== undefined);
|
|
40
|
+
// 数値がない場合は計算結果を返す
|
|
41
|
+
if (Number.isNaN(Number(variablePart[0]))) {
|
|
42
|
+
return numericalPart;
|
|
46
43
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
// 最大公約数で簡約
|
|
45
|
+
const commonGcd = gcd(Number(variablePart[0]), Number(numericalPart));
|
|
46
|
+
console.log("====================================");
|
|
47
|
+
console.log(commonGcd, variablePart[0], numericalPart);
|
|
48
|
+
console.log("====================================");
|
|
49
|
+
if (commonGcd !== 1) {
|
|
50
|
+
numericalPart = `${division(Number(numericalPart), commonGcd)}/${division(Number(variablePart[0]), commonGcd)}`;
|
|
51
|
+
if (/(-?)\d+\/1/.test(numericalPart)) {
|
|
52
|
+
return numericalPart.replace(/\/1/, "");
|
|
51
53
|
}
|
|
52
|
-
return
|
|
54
|
+
return numericalPart;
|
|
53
55
|
}
|
|
56
|
+
return numericalPart;
|
|
54
57
|
};
|
|
55
|
-
|
|
58
|
+
//# sourceMappingURL=literalExpression.js.map
|