umt 2.1.1 → 2.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/module/Advance/rangeAdvance.d.ts +10 -6
- package/module/Advance/rangeAdvance.js +10 -6
- package/module/Advance/rangeAdvance.js.map +1 -1
- package/module/Array/arraysJoin.d.ts +4 -4
- package/module/Array/arraysJoin.js +4 -4
- package/module/Array/binarySearch.d.ts +4 -3
- package/module/Array/binarySearch.js +4 -3
- package/module/Array/binarySearch.js.map +1 -1
- package/module/Array/checkFlagAlignment.d.ts +3 -3
- package/module/Array/checkFlagAlignment.js +7 -7
- package/module/Array/checkFlagAlignment.js.map +1 -1
- package/module/Array/chunk.d.ts +4 -4
- package/module/Array/compact.d.ts +8 -0
- package/module/Array/compact.js +8 -0
- package/module/Array/compact.js.map +1 -1
- package/module/Array/compareFunctionDefault.d.ts +13 -0
- package/module/Array/compareFunctionDefault.js +13 -0
- package/module/Array/compareFunctionDefault.js.map +1 -1
- package/module/Array/drop.d.ts +5 -5
- package/module/Array/drop.js +5 -5
- package/module/Array/dualPivotQuickSort.d.ts +16 -0
- package/module/Array/dualPivotQuickSort.js +152 -0
- package/module/Array/dualPivotQuickSort.js.map +1 -0
- package/module/Array/first.d.ts +3 -3
- package/module/Array/first.js +3 -3
- package/module/Array/generateNumberArray.d.ts +6 -6
- package/module/Array/generateNumberArray.js +6 -6
- package/module/Array/getArraysCommon.d.ts +4 -4
- package/module/Array/getArraysCommon.js +4 -4
- package/module/Array/getArraysDiff.d.ts +4 -4
- package/module/Array/getArraysDiff.js +4 -4
- package/module/Array/groupBy.d.ts +8 -4
- package/module/Array/groupBy.js +8 -4
- package/module/Array/groupBy.js.map +1 -1
- package/module/Array/index.d.ts +1 -0
- package/module/Array/index.js +1 -0
- package/module/Array/index.js.map +1 -1
- package/module/Array/insertionSort.d.ts +8 -7
- package/module/Array/insertionSort.js +6 -6
- package/module/Array/insertionSort.js.map +1 -1
- package/module/Array/mergeSort.d.ts +6 -5
- package/module/Array/mergeSort.js +9 -9
- package/module/Array/mergeSort.js.map +1 -1
- package/module/Array/quickSort.d.ts +12 -11
- package/module/Array/quickSort.js +44 -10
- package/module/Array/quickSort.js.map +1 -1
- package/module/Array/randomSelect.d.ts +5 -5
- package/module/Array/randomSelect.js +5 -5
- package/module/Array/range.d.ts +5 -5
- package/module/Array/range.js +26 -10
- package/module/Array/range.js.map +1 -1
- package/module/Array/shuffle.d.ts +3 -3
- package/module/Array/shuffle.js +3 -3
- package/module/Array/shuffle2DArray.d.ts +4 -4
- package/module/Array/shuffle2DArray.js +6 -6
- package/module/Array/shuffle2DArray.js.map +1 -1
- package/module/Array/sum.d.ts +3 -3
- package/module/Array/sum.js +4 -4
- package/module/Array/sum.js.map +1 -1
- package/module/Array/timSort.d.ts +13 -11
- package/module/Array/timSort.js +33 -9
- package/module/Array/timSort.js.map +1 -1
- package/module/Array/zip.d.ts +6 -3
- package/module/Array/zip.js +6 -3
- package/module/Array/zip.js.map +1 -1
- package/module/Array/zipLongest.d.ts +8 -5
- package/module/Array/zipLongest.js +8 -5
- package/module/Array/zipLongest.js.map +1 -1
- package/module/Color/cmykToRgba.d.ts +7 -7
- package/module/Color/cmykToRgba.js +12 -12
- package/module/Color/cmykToRgba.js.map +1 -1
- package/module/Color/hexaToRgba.d.ts +4 -3
- package/module/Color/hexaToRgba.js +18 -7
- package/module/Color/hexaToRgba.js.map +1 -1
- package/module/Color/hslaToRgba.d.ts +7 -6
- package/module/Color/hslaToRgba.js +19 -15
- package/module/Color/hslaToRgba.js.map +1 -1
- package/module/Color/rgbaToCmyk.d.ts +3 -3
- package/module/Color/rgbaToCmyk.js +14 -3
- package/module/Color/rgbaToCmyk.js.map +1 -1
- package/module/Color/rgbaToHexA.d.ts +4 -4
- package/module/Color/rgbaToHexA.js +5 -5
- package/module/Color/rgbaToHexA.js.map +1 -1
- package/module/Color/rgbaToHsla.d.ts +4 -3
- package/module/Color/rgbaToHsla.js +15 -3
- package/module/Color/rgbaToHsla.js.map +1 -1
- package/module/Consts/clock.d.ts +11 -11
- package/module/Consts/clock.js +11 -11
- package/module/Consts/httpStatus/httpClientErrorStatus.d.ts +28 -0
- package/module/Consts/httpStatus/httpClientErrorStatus.js +28 -0
- package/module/Consts/httpStatus/httpClientErrorStatus.js.map +1 -1
- package/module/Consts/httpStatus/httpInformationalStatus.d.ts +9 -0
- package/module/Consts/httpStatus/httpInformationalStatus.js +9 -0
- package/module/Consts/httpStatus/httpInformationalStatus.js.map +1 -1
- package/module/Consts/httpStatus/httpRedirectionStatus.d.ts +11 -0
- package/module/Consts/httpStatus/httpRedirectionStatus.js +11 -0
- package/module/Consts/httpStatus/httpRedirectionStatus.js.map +1 -1
- package/module/Consts/httpStatus/httpServerErrorStatus.d.ts +10 -0
- package/module/Consts/httpStatus/httpServerErrorStatus.js +10 -0
- package/module/Consts/httpStatus/httpServerErrorStatus.js.map +1 -1
- package/module/Consts/httpStatus/httpSuccessStatus.d.ts +11 -0
- package/module/Consts/httpStatus/httpSuccessStatus.js +11 -0
- package/module/Consts/httpStatus/httpSuccessStatus.js.map +1 -1
- package/module/Date/birthday.d.ts +7 -6
- package/module/Date/birthday.js +7 -6
- package/module/Date/birthday.js.map +1 -1
- package/module/Date/dateRange.d.ts +7 -4
- package/module/Date/dateRange.js +7 -4
- package/module/Date/dateRange.js.map +1 -1
- package/module/Date/dayOfWeek.d.ts +4 -4
- package/module/Date/dayOfWeek.js +4 -4
- package/module/Date/format.d.ts +30 -4
- package/module/Date/format.js +30 -4
- package/module/Date/format.js.map +1 -1
- package/module/Date/getDay.d.ts +8 -5
- package/module/Date/getDay.js +8 -5
- package/module/Date/getDay.js.map +1 -1
- package/module/Date/getTimezoneOffsetString.d.ts +3 -3
- package/module/Date/getTimezoneOffsetString.js +3 -3
- package/module/Date/isLeapYear.d.ts +8 -3
- package/module/Date/isLeapYear.js +8 -3
- package/module/Date/isLeapYear.js.map +1 -1
- package/module/Date/new.d.ts +20 -20
- package/module/Date/new.js +21 -21
- package/module/Date/new.js.map +1 -1
- package/module/Date/now.d.ts +7 -4
- package/module/Date/now.js +7 -4
- package/module/Date/now.js.map +1 -1
- package/module/Error/safeExecute.d.ts +21 -0
- package/module/Error/safeExecute.js +20 -0
- package/module/Error/safeExecute.js.map +1 -1
- package/module/IP/cidrToLong.d.ts +4 -3
- package/module/IP/cidrToLong.js +10 -4
- package/module/IP/cidrToLong.js.map +1 -1
- package/module/IP/cidrToSubnetMask.d.ts +4 -3
- package/module/IP/cidrToSubnetMask.js +4 -3
- package/module/IP/cidrToSubnetMask.js.map +1 -1
- package/module/IP/getIpClass.d.ts +3 -3
- package/module/IP/getIpClass.js +30 -18
- package/module/IP/getIpClass.js.map +1 -1
- package/module/IP/getNetworkAddress.d.ts +5 -4
- package/module/IP/getNetworkAddress.js +36 -6
- package/module/IP/getNetworkAddress.js.map +1 -1
- package/module/IP/ipToBinaryString.d.ts +4 -3
- package/module/IP/ipToBinaryString.js +32 -7
- package/module/IP/ipToBinaryString.js.map +1 -1
- package/module/IP/ipToLong.d.ts +4 -3
- package/module/IP/ipToLong.js +4 -3
- package/module/IP/ipToLong.js.map +1 -1
- package/module/IP/isInRange.d.ts +6 -5
- package/module/IP/isInRange.js +33 -7
- package/module/IP/isInRange.js.map +1 -1
- package/module/IP/isPrivateIp.d.ts +4 -3
- package/module/IP/isPrivateIp.js +17 -9
- package/module/IP/isPrivateIp.js.map +1 -1
- package/module/IP/longToIp.d.ts +4 -3
- package/module/IP/longToIp.js +16 -4
- package/module/IP/longToIp.js.map +1 -1
- package/module/IP/subnetMaskToCidr.d.ts +4 -3
- package/module/IP/subnetMaskToCidr.js +28 -12
- package/module/IP/subnetMaskToCidr.js.map +1 -1
- package/module/Math/addition.d.ts +3 -3
- package/module/Math/addition.js +3 -3
- package/module/Math/average.d.ts +7 -4
- package/module/Math/average.js +7 -4
- package/module/Math/average.js.map +1 -1
- package/module/Math/bitwise.d.ts +5 -5
- package/module/Math/bitwise.js +5 -5
- package/module/Math/calculator/calculator.d.ts +9 -7
- package/module/Math/calculator/calculator.js +9 -7
- package/module/Math/calculator/calculator.js.map +1 -1
- package/module/Math/calculator/calculatorInitialization.d.ts +4 -3
- package/module/Math/calculator/calculatorInitialization.js +6 -5
- package/module/Math/calculator/calculatorInitialization.js.map +1 -1
- package/module/Math/calculator/convertCurrency.d.ts +6 -4
- package/module/Math/calculator/convertCurrency.js +6 -4
- package/module/Math/calculator/convertCurrency.js.map +1 -1
- package/module/Math/calculator/core.js +13 -13
- package/module/Math/calculator/core.js.map +1 -1
- package/module/Math/calculator/literalExpression.d.ts +5 -3
- package/module/Math/calculator/literalExpression.js +12 -10
- package/module/Math/calculator/literalExpression.js.map +1 -1
- package/module/Math/degToRad.d.ts +3 -3
- package/module/Math/degToRad.js +3 -3
- package/module/Math/deviationValue.d.ts +5 -5
- package/module/Math/deviationValue.js +5 -5
- package/module/Math/division.d.ts +5 -5
- package/module/Math/division.js +31 -21
- package/module/Math/division.js.map +1 -1
- package/module/Math/factorial.d.ts +3 -3
- package/module/Math/factorial.js +3 -3
- package/module/Math/factorize.d.ts +3 -3
- package/module/Math/factorize.js +3 -3
- package/module/Math/flexibleNumberConversion.d.ts +11 -11
- package/module/Math/flexibleNumberConversion.js +19 -19
- package/module/Math/flexibleNumberConversion.js.map +1 -1
- package/module/Math/gcd.d.ts +5 -5
- package/module/Math/gcd.js +6 -6
- package/module/Math/gcd.js.map +1 -1
- package/module/Math/getDecimalLength.d.ts +7 -4
- package/module/Math/getDecimalLength.js +9 -5
- package/module/Math/getDecimalLength.js.map +1 -1
- package/module/Math/lcm.d.ts +4 -4
- package/module/Math/lcm.js +5 -5
- package/module/Math/lcm.js.map +1 -1
- package/module/Math/linearCongruentialGenerator.d.ts +6 -6
- package/module/Math/linearCongruentialGenerator.js +6 -6
- package/module/Math/mathConverter.d.ts +7 -3
- package/module/Math/mathConverter.js +7 -3
- package/module/Math/mathConverter.js.map +1 -1
- package/module/Math/mathSeparator.d.ts +8 -3
- package/module/Math/mathSeparator.js +8 -3
- package/module/Math/mathSeparator.js.map +1 -1
- package/module/Math/max.d.ts +4 -3
- package/module/Math/max.js +4 -3
- package/module/Math/max.js.map +1 -1
- package/module/Math/median.d.ts +3 -3
- package/module/Math/median.js +3 -3
- package/module/Math/min.d.ts +4 -3
- package/module/Math/min.js +4 -3
- package/module/Math/min.js.map +1 -1
- package/module/Math/multiples.d.ts +4 -4
- package/module/Math/multiples.js +4 -4
- package/module/Math/multiplication.d.ts +3 -3
- package/module/Math/multiplication.js +3 -3
- package/module/Math/nCr.d.ts +7 -4
- package/module/Math/nCr.js +7 -4
- package/module/Math/nCr.js.map +1 -1
- package/module/Math/nHr.d.ts +7 -4
- package/module/Math/nHr.js +7 -4
- package/module/Math/nHr.js.map +1 -1
- package/module/Math/nPr.d.ts +7 -4
- package/module/Math/nPr.js +7 -4
- package/module/Math/nPr.js.map +1 -1
- package/module/Math/primeFactorization.d.ts +6 -3
- package/module/Math/primeFactorization.js +11 -8
- package/module/Math/primeFactorization.js.map +1 -1
- package/module/Math/quotient.d.ts +7 -4
- package/module/Math/quotient.js +7 -4
- package/module/Math/quotient.js.map +1 -1
- package/module/Math/radToDeg.d.ts +5 -3
- package/module/Math/radToDeg.js +5 -3
- package/module/Math/radToDeg.js.map +1 -1
- package/module/Math/random.d.ts +6 -5
- package/module/Math/random.js +6 -5
- package/module/Math/random.js.map +1 -1
- package/module/Math/reduce.d.ts +9 -4
- package/module/Math/reduce.js +16 -6
- package/module/Math/reduce.js.map +1 -1
- package/module/Math/repeatedTrial.d.ts +5 -5
- package/module/Math/repeatedTrial.js +5 -5
- package/module/Math/roundOf.d.ts +7 -5
- package/module/Math/roundOf.js +8 -6
- package/module/Math/roundOf.js.map +1 -1
- package/module/Math/solveEquation.d.ts +12 -13
- package/module/Math/solveEquation.js +32 -37
- package/module/Math/solveEquation.js.map +1 -1
- package/module/Math/standardDeviation.d.ts +8 -3
- package/module/Math/standardDeviation.js +13 -7
- package/module/Math/standardDeviation.js.map +1 -1
- package/module/Math/subtract.d.ts +10 -4
- package/module/Math/subtract.js +12 -6
- package/module/Math/subtract.js.map +1 -1
- package/module/Math/toBaseN.d.ts +8 -6
- package/module/Math/toBaseN.js +9 -7
- package/module/Math/toBaseN.js.map +1 -1
- package/module/Math/toCelsius.d.ts +5 -3
- package/module/Math/toCelsius.js +5 -3
- package/module/Math/toCelsius.js.map +1 -1
- package/module/Math/toKelvin.d.ts +5 -3
- package/module/Math/toKelvin.js +5 -3
- package/module/Math/toKelvin.js.map +1 -1
- package/module/Math/uuidv7.d.ts +10 -2
- package/module/Math/uuidv7.js +10 -2
- package/module/Math/uuidv7.js.map +1 -1
- package/module/Math/valueSwap.d.ts +5 -4
- package/module/Math/valueSwap.js +5 -4
- package/module/Math/valueSwap.js.map +1 -1
- package/module/Math/xoshiro256.d.ts +8 -3
- package/module/Math/xoshiro256.js +8 -3
- package/module/Math/xoshiro256.js.map +1 -1
- package/module/Object/has.d.ts +4 -4
- package/module/Object/has.js +4 -4
- package/module/Object/keyBy.d.ts +3 -3
- package/module/Object/keyBy.js +4 -4
- package/module/Object/pick.d.ts +6 -6
- package/module/Object/pick.js +6 -6
- package/module/Object/pickDeep.d.ts +7 -7
- package/module/Object/pickDeep.js +7 -7
- package/module/Simple/Array/quickSortSimple.d.ts +9 -7
- package/module/Simple/Array/quickSortSimple.js +7 -6
- package/module/Simple/Array/quickSortSimple.js.map +1 -1
- package/module/Simple/Date/birthdaySimple.d.ts +4 -4
- package/module/Simple/Date/birthdaySimple.js +4 -4
- package/module/Simple/Date/dayOfWeekSimple.d.ts +4 -4
- package/module/Simple/Date/nowSimple.d.ts +3 -3
- package/module/Simple/Date/nowSimple.js +3 -3
- package/module/Simple/Math/deviationValueSimple.d.ts +10 -11
- package/module/Simple/Math/deviationValueSimple.js +14 -13
- package/module/Simple/Math/deviationValueSimple.js.map +1 -1
- package/module/String/deleteSpaces.d.ts +8 -4
- package/module/String/deleteSpaces.js +8 -4
- package/module/String/deleteSpaces.js.map +1 -1
- package/module/String/formatString.d.ts +8 -8
- package/module/String/formatString.js +7 -7
- package/module/String/formatString.js.map +1 -1
- package/module/String/fromBase64.d.ts +4 -3
- package/module/String/fromBase64.js +15 -9
- package/module/String/fromBase64.js.map +1 -1
- package/module/String/hasNoLetters.d.ts +9 -3
- package/module/String/hasNoLetters.js +12 -6
- package/module/String/hasNoLetters.js.map +1 -1
- package/module/String/padEnd.d.ts +5 -5
- package/module/String/padEnd.js +5 -5
- package/module/String/padStart.d.ts +11 -5
- package/module/String/padStart.js +17 -5
- package/module/String/padStart.js.map +1 -1
- package/module/String/randomString.d.ts +4 -4
- package/module/String/randomString.js +4 -4
- package/module/String/randomStringInitialization.d.ts +3 -3
- package/module/String/randomStringInitialization.js +3 -3
- package/module/String/reverseString.d.ts +3 -3
- package/module/String/reverseString.js +3 -3
- package/module/String/toBase64.d.ts +3 -3
- package/module/String/toBase64.js +3 -3
- package/module/String/toHalfWidth.d.ts +3 -3
- package/module/String/toHalfWidth.js +3 -3
- package/module/String/trimCharacters.d.ts +4 -4
- package/module/String/trimCharacters.js +4 -4
- package/module/String/trimEndCharacters.d.ts +10 -4
- package/module/String/trimEndCharacters.js +10 -4
- package/module/String/trimEndCharacters.js.map +1 -1
- package/module/String/trimStartCharacters.d.ts +10 -4
- package/module/String/trimStartCharacters.js +10 -4
- package/module/String/trimStartCharacters.js.map +1 -1
- package/module/Time/convertTime.d.ts +6 -6
- package/module/Time/convertTime.js +12 -11
- package/module/Time/convertTime.js.map +1 -1
- package/module/Tool/createPipeline.d.ts +8 -6
- package/module/Tool/createPipeline.js +6 -5
- package/module/Tool/createPipeline.js.map +1 -1
- package/module/Tool/parseJson.d.ts +7 -0
- package/module/Tool/parseJson.js +7 -0
- package/module/Tool/parseJson.js.map +1 -1
- package/module/UA/extractBrowserFromUserAgent.d.ts +12 -0
- package/module/UA/extractBrowserFromUserAgent.js +22 -5
- package/module/UA/extractBrowserFromUserAgent.js.map +1 -1
- package/module/UA/extractDeviceFromUserAgent.d.ts +12 -0
- package/module/UA/extractDeviceFromUserAgent.js +12 -0
- package/module/UA/extractDeviceFromUserAgent.js.map +1 -1
- package/module/UA/extractOsFromUserAgent.d.ts +12 -0
- package/module/UA/extractOsFromUserAgent.js +12 -0
- package/module/UA/extractOsFromUserAgent.js.map +1 -1
- package/module/UA/parseUserAgent.d.ts +16 -0
- package/module/UA/parseUserAgent.js +16 -0
- package/module/UA/parseUserAgent.js.map +1 -1
- package/module/Unit/index.d.ts +1 -0
- package/module/Unit/index.js +2 -0
- package/module/Unit/index.js.map +1 -0
- package/module/Unit/unitConverterInitialization.d.ts +16 -0
- package/module/Unit/unitConverterInitialization.js +19 -0
- package/module/Unit/unitConverterInitialization.js.map +1 -0
- package/module/Validate/array/core.d.ts +12 -0
- package/module/Validate/array/core.js +15 -3
- package/module/Validate/array/core.js.map +1 -1
- package/module/Validate/boolean/core.d.ts +9 -0
- package/module/Validate/boolean/core.js +9 -0
- package/module/Validate/boolean/core.js.map +1 -1
- package/module/Validate/core/index.d.ts +10 -0
- package/module/Validate/core/index.js +11 -1
- package/module/Validate/core/index.js.map +1 -1
- package/module/Validate/isArray.d.ts +3 -3
- package/module/Validate/isArray.js +3 -3
- package/module/Validate/isBrowser.d.ts +1 -1
- package/module/Validate/isBrowser.js +1 -1
- package/module/Validate/isBun.d.ts +1 -1
- package/module/Validate/isBun.js +1 -1
- package/module/Validate/isDictionaryObject.d.ts +3 -3
- package/module/Validate/isDictionaryObject.js +3 -3
- package/module/Validate/isDouble.d.ts +4 -4
- package/module/Validate/isDouble.js +4 -4
- package/module/Validate/isNode.d.ts +1 -1
- package/module/Validate/isNode.js +1 -1
- package/module/Validate/isNodeWebkit.d.ts +1 -1
- package/module/Validate/isNodeWebkit.js +1 -1
- package/module/Validate/isNotEmpty.d.ts +3 -3
- package/module/Validate/isNotEmpty.js +4 -4
- package/module/Validate/isNotEmpty.js.map +1 -1
- package/module/Validate/isNumber.d.ts +4 -4
- package/module/Validate/isNumber.js +10 -4
- package/module/Validate/isNumber.js.map +1 -1
- package/module/Validate/isPerfectSquare.d.ts +8 -3
- package/module/Validate/isPerfectSquare.js +8 -3
- package/module/Validate/isPerfectSquare.js.map +1 -1
- package/module/Validate/isPrimeNumber.d.ts +7 -3
- package/module/Validate/isPrimeNumber.js +8 -4
- package/module/Validate/isPrimeNumber.js.map +1 -1
- package/module/Validate/isValueNaN.d.ts +7 -5
- package/module/Validate/isValueNaN.js +7 -5
- package/module/Validate/isValueNaN.js.map +1 -1
- package/module/Validate/number/core.d.ts +11 -0
- package/module/Validate/number/core.js +11 -0
- package/module/Validate/number/core.js.map +1 -1
- package/module/Validate/number/double.d.ts +9 -0
- package/module/Validate/number/double.js +9 -0
- package/module/Validate/number/double.js.map +1 -1
- package/module/Validate/number/even.d.ts +9 -0
- package/module/Validate/number/even.js +9 -0
- package/module/Validate/number/even.js.map +1 -1
- package/module/Validate/number/maxValue.d.ts +10 -0
- package/module/Validate/number/maxValue.js +10 -0
- package/module/Validate/number/maxValue.js.map +1 -1
- package/module/Validate/number/minValue.d.ts +10 -0
- package/module/Validate/number/minValue.js +10 -0
- package/module/Validate/number/minValue.js.map +1 -1
- package/module/Validate/number/prime.d.ts +9 -0
- package/module/Validate/number/prime.js +9 -0
- package/module/Validate/number/prime.js.map +1 -1
- package/module/Validate/object/core.d.ts +11 -0
- package/module/Validate/object/core.js +11 -0
- package/module/Validate/object/core.js.map +1 -1
- package/module/Validate/string/core.d.ts +11 -0
- package/module/Validate/string/core.js +11 -0
- package/module/Validate/string/core.js.map +1 -1
- package/module/Validate/string/email.d.ts +9 -0
- package/module/Validate/string/email.js +10 -1
- package/module/Validate/string/email.js.map +1 -1
- package/module/Validate/string/length.d.ts +11 -0
- package/module/Validate/string/length.js +11 -0
- package/module/Validate/string/length.js.map +1 -1
- package/module/Validate/string/maxLength.d.ts +10 -0
- package/module/Validate/string/maxLength.js +10 -0
- package/module/Validate/string/maxLength.js.map +1 -1
- package/module/Validate/string/minLength.d.ts +10 -0
- package/module/Validate/string/minLength.js +10 -0
- package/module/Validate/string/minLength.js.map +1 -1
- package/module/Validate/string/numberString.d.ts +9 -0
- package/module/Validate/string/numberString.js +9 -0
- package/module/Validate/string/numberString.js.map +1 -1
- package/module/Validate/string/regexMatch.d.ts +10 -0
- package/module/Validate/string/regexMatch.js +10 -0
- package/module/Validate/string/regexMatch.js.map +1 -1
- package/module/Validate/string/uuid.d.ts +8 -3
- package/module/Validate/string/uuid.js +9 -4
- package/module/Validate/string/uuid.js.map +1 -1
- package/module/Validate/type.d.ts +22 -0
- package/module/es5/Advance/rangeAdvance.d.ts +10 -6
- package/module/es5/Advance/rangeAdvance.js +10 -6
- package/module/es5/Array/arraysJoin.d.ts +4 -4
- package/module/es5/Array/arraysJoin.js +4 -4
- package/module/es5/Array/binarySearch.d.ts +4 -3
- package/module/es5/Array/binarySearch.js +4 -3
- package/module/es5/Array/checkFlagAlignment.d.ts +3 -3
- package/module/es5/Array/checkFlagAlignment.js +7 -7
- package/module/es5/Array/chunk.d.ts +4 -4
- package/module/es5/Array/chunk.js +4 -4
- package/module/es5/Array/compact.d.ts +8 -0
- package/module/es5/Array/compact.js +8 -0
- package/module/es5/Array/compareFunctionDefault.d.ts +13 -0
- package/module/es5/Array/compareFunctionDefault.js +13 -0
- package/module/es5/Array/drop.d.ts +5 -5
- package/module/es5/Array/drop.js +5 -5
- package/module/es5/Array/dualPivotQuickSort.d.ts +16 -0
- package/module/es5/Array/dualPivotQuickSort.js +201 -0
- package/module/es5/Array/first.d.ts +3 -3
- package/module/es5/Array/first.js +3 -3
- package/module/es5/Array/generateNumberArray.d.ts +6 -6
- package/module/es5/Array/generateNumberArray.js +6 -6
- package/module/es5/Array/getArraysCommon.d.ts +4 -4
- package/module/es5/Array/getArraysCommon.js +4 -4
- package/module/es5/Array/getArraysDiff.d.ts +4 -4
- package/module/es5/Array/getArraysDiff.js +4 -4
- package/module/es5/Array/groupBy.d.ts +8 -4
- package/module/es5/Array/groupBy.js +8 -4
- package/module/es5/Array/index.d.ts +1 -0
- package/module/es5/Array/index.js +11 -0
- package/module/es5/Array/insertionSort.d.ts +8 -7
- package/module/es5/Array/insertionSort.js +6 -6
- package/module/es5/Array/mergeSort.d.ts +6 -5
- package/module/es5/Array/mergeSort.js +9 -9
- package/module/es5/Array/quickSort.d.ts +12 -11
- package/module/es5/Array/quickSort.js +47 -10
- package/module/es5/Array/randomSelect.d.ts +5 -5
- package/module/es5/Array/randomSelect.js +5 -5
- package/module/es5/Array/range.d.ts +5 -5
- package/module/es5/Array/range.js +28 -10
- package/module/es5/Array/shuffle.d.ts +3 -3
- package/module/es5/Array/shuffle.js +3 -3
- package/module/es5/Array/shuffle2DArray.d.ts +4 -4
- package/module/es5/Array/shuffle2DArray.js +6 -6
- package/module/es5/Array/sum.d.ts +3 -3
- package/module/es5/Array/sum.js +4 -4
- package/module/es5/Array/timSort.d.ts +13 -11
- package/module/es5/Array/timSort.js +36 -9
- package/module/es5/Array/zip.d.ts +6 -3
- package/module/es5/Array/zip.js +6 -3
- package/module/es5/Array/zipLongest.d.ts +8 -5
- package/module/es5/Array/zipLongest.js +8 -5
- package/module/es5/Color/cmykToRgba.d.ts +7 -7
- package/module/es5/Color/cmykToRgba.js +12 -12
- package/module/es5/Color/hexaToRgba.d.ts +4 -3
- package/module/es5/Color/hexaToRgba.js +18 -6
- package/module/es5/Color/hslaToRgba.d.ts +7 -6
- package/module/es5/Color/hslaToRgba.js +19 -13
- package/module/es5/Color/rgbaToCmyk.d.ts +3 -3
- package/module/es5/Color/rgbaToCmyk.js +7 -3
- package/module/es5/Color/rgbaToHexA.d.ts +4 -4
- package/module/es5/Color/rgbaToHexA.js +5 -5
- package/module/es5/Color/rgbaToHsla.d.ts +4 -3
- package/module/es5/Color/rgbaToHsla.js +8 -3
- package/module/es5/Consts/clock.d.ts +11 -11
- package/module/es5/Consts/clock.js +11 -11
- package/module/es5/Consts/httpStatus/httpClientErrorStatus.d.ts +28 -0
- package/module/es5/Consts/httpStatus/httpClientErrorStatus.js +28 -0
- package/module/es5/Consts/httpStatus/httpInformationalStatus.d.ts +9 -0
- package/module/es5/Consts/httpStatus/httpInformationalStatus.js +9 -0
- package/module/es5/Consts/httpStatus/httpRedirectionStatus.d.ts +11 -0
- package/module/es5/Consts/httpStatus/httpRedirectionStatus.js +11 -0
- package/module/es5/Consts/httpStatus/httpServerErrorStatus.d.ts +10 -0
- package/module/es5/Consts/httpStatus/httpServerErrorStatus.js +10 -0
- package/module/es5/Consts/httpStatus/httpSuccessStatus.d.ts +11 -0
- package/module/es5/Consts/httpStatus/httpSuccessStatus.js +11 -0
- package/module/es5/Date/birthday.d.ts +7 -6
- package/module/es5/Date/birthday.js +7 -6
- package/module/es5/Date/dateRange.d.ts +7 -4
- package/module/es5/Date/dateRange.js +7 -4
- package/module/es5/Date/dayOfWeek.d.ts +4 -4
- package/module/es5/Date/dayOfWeek.js +4 -4
- package/module/es5/Date/format.d.ts +30 -4
- package/module/es5/Date/format.js +30 -4
- package/module/es5/Date/getDay.d.ts +8 -5
- package/module/es5/Date/getDay.js +8 -5
- package/module/es5/Date/getTimezoneOffsetString.d.ts +3 -3
- package/module/es5/Date/getTimezoneOffsetString.js +3 -3
- package/module/es5/Date/isLeapYear.d.ts +8 -3
- package/module/es5/Date/isLeapYear.js +8 -3
- package/module/es5/Date/new.d.ts +20 -20
- package/module/es5/Date/new.js +21 -21
- package/module/es5/Date/now.d.ts +7 -4
- package/module/es5/Date/now.js +7 -4
- package/module/es5/Error/safeExecute.d.ts +21 -0
- package/module/es5/Error/safeExecute.js +36 -0
- package/module/es5/IP/cidrToLong.d.ts +4 -3
- package/module/es5/IP/cidrToLong.js +7 -3
- package/module/es5/IP/cidrToSubnetMask.d.ts +4 -3
- package/module/es5/IP/cidrToSubnetMask.js +4 -3
- package/module/es5/IP/getIpClass.d.ts +3 -3
- package/module/es5/IP/getIpClass.js +44 -18
- package/module/es5/IP/getNetworkAddress.d.ts +5 -4
- package/module/es5/IP/getNetworkAddress.js +35 -6
- package/module/es5/IP/ipToBinaryString.d.ts +4 -3
- package/module/es5/IP/ipToBinaryString.js +44 -5
- package/module/es5/IP/ipToLong.d.ts +4 -3
- package/module/es5/IP/ipToLong.js +4 -3
- package/module/es5/IP/isInRange.d.ts +6 -5
- package/module/es5/IP/isInRange.js +34 -7
- package/module/es5/IP/isPrivateIp.d.ts +4 -3
- package/module/es5/IP/isPrivateIp.js +30 -17
- package/module/es5/IP/longToIp.d.ts +4 -3
- package/module/es5/IP/longToIp.js +17 -5
- package/module/es5/IP/subnetMaskToCidr.d.ts +4 -3
- package/module/es5/IP/subnetMaskToCidr.js +33 -12
- package/module/es5/Math/addition.d.ts +3 -3
- package/module/es5/Math/addition.js +3 -3
- package/module/es5/Math/average.d.ts +7 -4
- package/module/es5/Math/average.js +7 -4
- package/module/es5/Math/bitwise.d.ts +5 -5
- package/module/es5/Math/bitwise.js +5 -5
- package/module/es5/Math/calculator/calculator.d.ts +9 -7
- package/module/es5/Math/calculator/calculator.js +9 -7
- package/module/es5/Math/calculator/calculatorInitialization.d.ts +4 -3
- package/module/es5/Math/calculator/calculatorInitialization.js +6 -5
- package/module/es5/Math/calculator/convertCurrency.d.ts +6 -4
- package/module/es5/Math/calculator/convertCurrency.js +6 -4
- package/module/es5/Math/calculator/core.js +13 -13
- package/module/es5/Math/calculator/literalExpression.d.ts +5 -3
- package/module/es5/Math/calculator/literalExpression.js +12 -10
- package/module/es5/Math/degToRad.d.ts +3 -3
- package/module/es5/Math/degToRad.js +3 -3
- package/module/es5/Math/deviationValue.d.ts +5 -5
- package/module/es5/Math/deviationValue.js +5 -5
- package/module/es5/Math/division.d.ts +5 -5
- package/module/es5/Math/division.js +35 -21
- package/module/es5/Math/factorial.d.ts +3 -3
- package/module/es5/Math/factorial.js +3 -3
- package/module/es5/Math/factorize.d.ts +3 -3
- package/module/es5/Math/factorize.js +3 -3
- package/module/es5/Math/flexibleNumberConversion.d.ts +11 -11
- package/module/es5/Math/flexibleNumberConversion.js +19 -19
- package/module/es5/Math/gcd.d.ts +5 -5
- package/module/es5/Math/gcd.js +6 -6
- package/module/es5/Math/getDecimalLength.d.ts +7 -4
- package/module/es5/Math/getDecimalLength.js +9 -5
- package/module/es5/Math/lcm.d.ts +4 -4
- package/module/es5/Math/lcm.js +5 -5
- package/module/es5/Math/linearCongruentialGenerator.d.ts +6 -6
- package/module/es5/Math/linearCongruentialGenerator.js +6 -6
- package/module/es5/Math/mathConverter.d.ts +7 -3
- package/module/es5/Math/mathConverter.js +7 -3
- package/module/es5/Math/mathSeparator.d.ts +8 -3
- package/module/es5/Math/mathSeparator.js +8 -3
- package/module/es5/Math/max.d.ts +4 -3
- package/module/es5/Math/max.js +4 -3
- package/module/es5/Math/median.d.ts +3 -3
- package/module/es5/Math/median.js +3 -3
- package/module/es5/Math/min.d.ts +4 -3
- package/module/es5/Math/min.js +4 -3
- package/module/es5/Math/multiples.d.ts +4 -4
- package/module/es5/Math/multiples.js +4 -4
- package/module/es5/Math/multiplication.d.ts +3 -3
- package/module/es5/Math/multiplication.js +3 -3
- package/module/es5/Math/nCr.d.ts +7 -4
- package/module/es5/Math/nCr.js +7 -4
- package/module/es5/Math/nHr.d.ts +7 -4
- package/module/es5/Math/nHr.js +7 -4
- package/module/es5/Math/nPr.d.ts +7 -4
- package/module/es5/Math/nPr.js +7 -4
- package/module/es5/Math/primeFactorization.d.ts +6 -3
- package/module/es5/Math/primeFactorization.js +11 -8
- package/module/es5/Math/quotient.d.ts +7 -4
- package/module/es5/Math/quotient.js +7 -4
- package/module/es5/Math/radToDeg.d.ts +5 -3
- package/module/es5/Math/radToDeg.js +5 -3
- package/module/es5/Math/random.d.ts +6 -5
- package/module/es5/Math/random.js +6 -5
- package/module/es5/Math/reduce.d.ts +9 -4
- package/module/es5/Math/reduce.js +14 -8
- package/module/es5/Math/repeatedTrial.d.ts +5 -5
- package/module/es5/Math/repeatedTrial.js +5 -5
- package/module/es5/Math/roundOf.d.ts +7 -5
- package/module/es5/Math/roundOf.js +8 -6
- package/module/es5/Math/solveEquation.d.ts +12 -13
- package/module/es5/Math/solveEquation.js +34 -38
- package/module/es5/Math/standardDeviation.d.ts +8 -3
- package/module/es5/Math/standardDeviation.js +16 -7
- package/module/es5/Math/subtract.d.ts +10 -4
- package/module/es5/Math/subtract.js +12 -6
- package/module/es5/Math/toBaseN.d.ts +8 -6
- package/module/es5/Math/toBaseN.js +9 -7
- package/module/es5/Math/toCelsius.d.ts +5 -3
- package/module/es5/Math/toCelsius.js +5 -3
- package/module/es5/Math/toKelvin.d.ts +5 -3
- package/module/es5/Math/toKelvin.js +5 -3
- package/module/es5/Math/uuidv7.d.ts +10 -2
- package/module/es5/Math/uuidv7.js +10 -2
- package/module/es5/Math/valueSwap.d.ts +5 -4
- package/module/es5/Math/valueSwap.js +5 -4
- package/module/es5/Math/xoshiro256.d.ts +8 -3
- package/module/es5/Math/xoshiro256.js +8 -3
- package/module/es5/Object/has.d.ts +4 -4
- package/module/es5/Object/has.js +4 -4
- package/module/es5/Object/keyBy.d.ts +3 -3
- package/module/es5/Object/keyBy.js +4 -4
- package/module/es5/Object/pick.d.ts +6 -6
- package/module/es5/Object/pick.js +6 -6
- package/module/es5/Object/pickDeep.d.ts +7 -7
- package/module/es5/Object/pickDeep.js +7 -7
- package/module/es5/Simple/Array/quickSortSimple.d.ts +9 -7
- package/module/es5/Simple/Array/quickSortSimple.js +7 -6
- package/module/es5/Simple/Date/birthdaySimple.d.ts +4 -4
- package/module/es5/Simple/Date/birthdaySimple.js +4 -4
- package/module/es5/Simple/Date/dayOfWeekSimple.d.ts +4 -4
- package/module/es5/Simple/Date/dayOfWeekSimple.js +4 -4
- package/module/es5/Simple/Date/nowSimple.d.ts +3 -3
- package/module/es5/Simple/Date/nowSimple.js +3 -3
- package/module/es5/Simple/Math/deviationValueSimple.d.ts +10 -11
- package/module/es5/Simple/Math/deviationValueSimple.js +23 -12
- package/module/es5/String/deleteSpaces.d.ts +8 -4
- package/module/es5/String/deleteSpaces.js +8 -4
- package/module/es5/String/formatString.d.ts +8 -8
- package/module/es5/String/formatString.js +7 -7
- package/module/es5/String/fromBase64.d.ts +4 -3
- package/module/es5/String/fromBase64.js +14 -9
- package/module/es5/String/hasNoLetters.d.ts +9 -3
- package/module/es5/String/hasNoLetters.js +12 -6
- package/module/es5/String/padEnd.d.ts +5 -5
- package/module/es5/String/padEnd.js +5 -5
- package/module/es5/String/padStart.d.ts +11 -5
- package/module/es5/String/padStart.js +20 -5
- package/module/es5/String/randomString.d.ts +4 -4
- package/module/es5/String/randomString.js +4 -4
- package/module/es5/String/randomStringInitialization.d.ts +3 -3
- package/module/es5/String/randomStringInitialization.js +3 -3
- package/module/es5/String/reverseString.d.ts +3 -3
- package/module/es5/String/reverseString.js +3 -3
- package/module/es5/String/toBase64.d.ts +3 -3
- package/module/es5/String/toBase64.js +3 -3
- package/module/es5/String/toHalfWidth.d.ts +3 -3
- package/module/es5/String/toHalfWidth.js +3 -3
- package/module/es5/String/trimCharacters.d.ts +4 -4
- package/module/es5/String/trimCharacters.js +4 -4
- package/module/es5/String/trimEndCharacters.d.ts +10 -4
- package/module/es5/String/trimEndCharacters.js +10 -4
- package/module/es5/String/trimStartCharacters.d.ts +10 -4
- package/module/es5/String/trimStartCharacters.js +10 -4
- package/module/es5/Time/convertTime.d.ts +6 -6
- package/module/es5/Time/convertTime.js +12 -11
- package/module/es5/Tool/createPipeline.d.ts +8 -6
- package/module/es5/Tool/createPipeline.js +10 -8
- package/module/es5/Tool/parseJson.d.ts +7 -0
- package/module/es5/Tool/parseJson.js +7 -0
- package/module/es5/UA/extractBrowserFromUserAgent.d.ts +12 -0
- package/module/es5/UA/extractBrowserFromUserAgent.js +22 -5
- package/module/es5/UA/extractDeviceFromUserAgent.d.ts +12 -0
- package/module/es5/UA/extractDeviceFromUserAgent.js +12 -0
- package/module/es5/UA/extractOsFromUserAgent.d.ts +12 -0
- package/module/es5/UA/extractOsFromUserAgent.js +12 -0
- package/module/es5/UA/parseUserAgent.d.ts +16 -0
- package/module/es5/UA/parseUserAgent.js +16 -0
- package/module/es5/Unit/index.d.ts +1 -0
- package/module/es5/Unit/index.js +16 -0
- package/module/es5/Unit/unitConverterInitialization.d.ts +16 -0
- package/module/es5/Unit/unitConverterInitialization.js +28 -0
- package/module/es5/Validate/array/core.d.ts +12 -0
- package/module/es5/Validate/array/core.js +15 -4
- package/module/es5/Validate/boolean/core.d.ts +9 -0
- package/module/es5/Validate/boolean/core.js +10 -0
- package/module/es5/Validate/core/index.d.ts +10 -0
- package/module/es5/Validate/core/index.js +13 -1
- package/module/es5/Validate/isArray.d.ts +3 -3
- package/module/es5/Validate/isArray.js +3 -3
- package/module/es5/Validate/isBrowser.d.ts +1 -1
- package/module/es5/Validate/isBrowser.js +1 -1
- package/module/es5/Validate/isBun.d.ts +1 -1
- package/module/es5/Validate/isBun.js +1 -1
- package/module/es5/Validate/isDictionaryObject.d.ts +3 -3
- package/module/es5/Validate/isDictionaryObject.js +3 -3
- package/module/es5/Validate/isDouble.d.ts +4 -4
- package/module/es5/Validate/isDouble.js +4 -4
- package/module/es5/Validate/isNode.d.ts +1 -1
- package/module/es5/Validate/isNode.js +1 -1
- package/module/es5/Validate/isNodeWebkit.d.ts +1 -1
- package/module/es5/Validate/isNodeWebkit.js +1 -1
- package/module/es5/Validate/isNotEmpty.d.ts +3 -3
- package/module/es5/Validate/isNotEmpty.js +4 -4
- package/module/es5/Validate/isNumber.d.ts +4 -4
- package/module/es5/Validate/isNumber.js +11 -4
- package/module/es5/Validate/isPerfectSquare.d.ts +8 -3
- package/module/es5/Validate/isPerfectSquare.js +8 -3
- package/module/es5/Validate/isPrimeNumber.d.ts +7 -3
- package/module/es5/Validate/isPrimeNumber.js +8 -4
- package/module/es5/Validate/isValueNaN.d.ts +7 -5
- package/module/es5/Validate/isValueNaN.js +7 -5
- package/module/es5/Validate/number/core.d.ts +11 -0
- package/module/es5/Validate/number/core.js +12 -0
- package/module/es5/Validate/number/double.d.ts +9 -0
- package/module/es5/Validate/number/double.js +10 -0
- package/module/es5/Validate/number/even.d.ts +9 -0
- package/module/es5/Validate/number/even.js +10 -0
- package/module/es5/Validate/number/maxValue.d.ts +10 -0
- package/module/es5/Validate/number/maxValue.js +11 -0
- package/module/es5/Validate/number/minValue.d.ts +10 -0
- package/module/es5/Validate/number/minValue.js +11 -0
- package/module/es5/Validate/number/prime.d.ts +9 -0
- package/module/es5/Validate/number/prime.js +10 -0
- package/module/es5/Validate/object/core.d.ts +11 -0
- package/module/es5/Validate/object/core.js +12 -0
- package/module/es5/Validate/string/core.d.ts +11 -0
- package/module/es5/Validate/string/core.js +12 -0
- package/module/es5/Validate/string/email.d.ts +9 -0
- package/module/es5/Validate/string/email.js +11 -1
- package/module/es5/Validate/string/length.d.ts +11 -0
- package/module/es5/Validate/string/length.js +12 -0
- package/module/es5/Validate/string/maxLength.d.ts +10 -0
- package/module/es5/Validate/string/maxLength.js +11 -0
- package/module/es5/Validate/string/minLength.d.ts +10 -0
- package/module/es5/Validate/string/minLength.js +11 -0
- package/module/es5/Validate/string/numberString.d.ts +9 -0
- package/module/es5/Validate/string/numberString.js +10 -0
- package/module/es5/Validate/string/regexMatch.d.ts +10 -0
- package/module/es5/Validate/string/regexMatch.js +11 -0
- package/module/es5/Validate/string/uuid.d.ts +8 -3
- package/module/es5/Validate/string/uuid.js +10 -4
- package/module/es5/Validate/type.d.ts +22 -0
- package/module/es5/index.d.ts +1 -0
- package/module/es5/index.js +11 -0
- package/module/es5/tests/integration/Array/drop-and-first.test.js +20 -0
- package/module/es5/tests/integration/Tool/parseJson-and-Validate.test.js +68 -14
- package/module/es5/tests/unit/Array/arraysJoin.test.js +15 -3
- package/module/es5/tests/unit/Array/checkFlagAlignment.test.js +10 -10
- package/module/es5/tests/unit/Array/compact.test.js +17 -17
- package/module/es5/tests/unit/Array/compareFunctionDefault.test.d.ts +1 -0
- package/module/es5/tests/unit/Array/compareFunctionDefault.test.js +29 -0
- package/module/es5/tests/unit/Array/drop.test.js +10 -10
- package/module/es5/tests/unit/Array/dualPivotQuickSort.test.d.ts +1 -0
- package/module/es5/tests/unit/Array/dualPivotQuickSort.test.js +87 -0
- package/module/es5/tests/unit/Array/generateNumberArray.test.js +6 -6
- package/module/es5/tests/unit/Array/getArraysCommon.test.js +36 -4
- package/module/es5/tests/unit/Array/getArraysDiff.test.js +14 -14
- package/module/es5/tests/unit/Array/groupBy.test.js +6 -6
- package/module/es5/tests/unit/Array/insertionSort.test.js +8 -8
- package/module/es5/tests/unit/Array/mergeSort.test.js +34 -5
- package/module/es5/tests/unit/Array/quickSort.test.js +76 -11
- package/module/es5/tests/unit/Array/randomSelect.test.js +11 -6
- package/module/es5/tests/unit/Array/range.test.js +25 -4
- package/module/es5/tests/unit/Array/shuffle.test.js +53 -6
- package/module/es5/tests/unit/Array/shuffle2DArray.test.js +51 -8
- package/module/es5/tests/unit/Array/sum.test.js +40 -2
- package/module/es5/tests/unit/Array/timSort.test.js +89 -9
- package/module/es5/tests/unit/Array/zip.test.js +48 -9
- package/module/es5/tests/unit/Array/zipLongest.test.js +52 -9
- package/module/es5/tests/unit/Color/cmykToRgba.test.js +3 -3
- package/module/es5/tests/unit/Color/hexaToRgba.test.js +53 -1
- package/module/es5/tests/unit/Color/hslaToRgba.test.js +35 -53
- package/module/es5/tests/unit/Color/rgbaToCmyk.test.js +67 -1
- package/module/es5/tests/unit/Color/rgbaToHsla.test.js +91 -1
- package/module/es5/tests/unit/Consts/clock.test.js +51 -18
- package/module/es5/tests/unit/Consts/httpStatus.test.js +9 -0
- package/module/es5/tests/unit/Date/birthday.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/birthday.test.js +31 -0
- package/module/es5/tests/unit/Date/dateRange.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/dateRange.test.js +40 -0
- package/module/es5/tests/unit/Date/dayOfWeek.test.js +5 -5
- package/module/es5/tests/unit/Date/format.test.js +22 -0
- package/module/es5/tests/unit/Date/getDay.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/getDay.test.js +40 -0
- package/module/es5/tests/unit/Date/getTimezoneOffsetString.test.js +3 -3
- package/module/es5/tests/unit/Date/isLeapYear.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/isLeapYear.test.js +30 -0
- package/module/es5/tests/unit/Date/new.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/new.test.js +39 -0
- package/module/es5/tests/unit/Date/now.test.d.ts +1 -0
- package/module/es5/tests/unit/Date/now.test.js +42 -0
- package/module/es5/tests/unit/Error/safeExecute.test.js +69 -15
- package/module/es5/tests/unit/IP/cidrToLong.test.js +27 -5
- package/module/es5/tests/unit/IP/cidrToSubnetMask.test.js +29 -10
- package/module/es5/tests/unit/IP/getIpClass.test.js +29 -18
- package/module/es5/tests/unit/IP/getNetworkAddress.test.js +35 -14
- package/module/es5/tests/unit/IP/ipToBinaryString.test.js +38 -9
- package/module/es5/tests/unit/IP/ipToLong.test.js +27 -13
- package/module/es5/tests/unit/IP/isInRange.test.js +75 -4
- package/module/es5/tests/unit/IP/isPrivateIp.test.js +18 -12
- package/module/es5/tests/unit/IP/longToIp.test.d.ts +1 -0
- package/module/es5/tests/unit/IP/longToIp.test.js +39 -0
- package/module/es5/tests/unit/IP/subnetMaskToCidr.test.js +34 -20
- package/module/es5/tests/unit/Math/average.test.js +40 -18
- package/module/es5/tests/unit/Math/bitwise.test.js +14 -14
- package/module/es5/tests/unit/Math/calculator/calculator.test.js +9 -9
- package/module/es5/tests/unit/Math/calculator/calculatorInitialization.test.js +16 -5
- package/module/es5/tests/unit/Math/calculator/convertCurrency.test.js +12 -12
- package/module/es5/tests/unit/Math/calculator/literalExpression.test.js +8 -8
- package/module/es5/tests/unit/Math/degToRad.test.js +10 -10
- package/module/es5/tests/unit/Math/deviationValue.test.js +12 -12
- package/module/es5/tests/unit/Math/division.test.js +72 -25
- package/module/es5/tests/unit/Math/factorial.test.js +4 -4
- package/module/es5/tests/unit/Math/factorize.test.js +34 -9
- package/module/es5/tests/unit/Math/flexibleNumberConversion.test.js +75 -75
- package/module/es5/tests/unit/Math/gcd.test.js +5 -5
- package/module/es5/tests/unit/Math/getDecimalLength.test.js +40 -4
- package/module/es5/tests/unit/Math/lcm.test.js +16 -9
- package/module/es5/tests/unit/Math/linearCongruentialGenerator.test.js +4 -4
- package/module/es5/tests/unit/Math/mathConverter.test.js +13 -13
- package/module/es5/tests/unit/Math/mathSeparator.test.js +23 -5
- package/module/es5/tests/unit/Math/max.test.js +18 -3
- package/module/es5/tests/unit/Math/median.test.js +4 -4
- package/module/es5/tests/unit/Math/min.test.js +18 -3
- package/module/es5/tests/unit/Math/multiples.test.js +26 -10
- package/module/es5/tests/unit/Math/multiplication.test.js +43 -9
- package/module/es5/tests/unit/Math/nCr.test.js +27 -14
- package/module/es5/tests/unit/Math/nHr.test.js +28 -15
- package/module/es5/tests/unit/Math/nPr.test.js +31 -14
- package/module/es5/tests/unit/Math/primeFactorization.test.js +79 -8
- package/module/es5/tests/unit/Math/quotient.test.js +32 -10
- package/module/es5/tests/unit/Math/radToDeg.test.js +39 -38
- package/module/es5/tests/unit/Math/random.test.js +55 -17
- package/module/es5/tests/unit/Math/reduce.test.js +87 -8
- package/module/es5/tests/unit/Math/repeatedTrial.test.js +35 -5
- package/module/es5/tests/unit/Math/roundOf.test.js +36 -11
- package/module/es5/tests/unit/Math/solveEquation.test.js +20 -20
- package/module/es5/tests/unit/Math/standardDeviation.test.js +19 -2
- package/module/es5/tests/unit/Math/subtract.test.js +14 -2
- package/module/es5/tests/unit/Math/toBaseN.test.js +36 -19
- package/module/es5/tests/unit/Math/toCelsius.test.js +14 -2
- package/module/es5/tests/unit/Math/toKelvin.test.js +14 -2
- package/module/es5/tests/unit/Math/uuidv7.test.js +6 -6
- package/module/es5/tests/unit/Math/valueSwap.test.js +24 -6
- package/module/es5/tests/unit/Math/xoshiro256.test.js +22 -11
- package/module/es5/tests/unit/Object/keyBy.test.js +6 -6
- package/module/es5/tests/unit/Object/pick.test.js +11 -11
- package/module/es5/tests/unit/Object/pickDeep.test.js +15 -15
- package/module/es5/tests/unit/Simple/Array/quickSortSimple.test.js +4 -4
- package/module/es5/tests/unit/Simple/Math/deviationValueSimple.test.js +39 -3
- package/module/es5/tests/unit/String/deleteSpaces.test.d.ts +1 -0
- package/module/es5/tests/unit/String/deleteSpaces.test.js +22 -0
- package/module/es5/tests/unit/String/formatString.test.js +41 -14
- package/module/es5/tests/unit/String/fromBase64.test.js +19 -8
- package/module/es5/tests/unit/String/hasNoLetters.test.js +20 -24
- package/module/es5/tests/unit/String/padEnd.test.js +5 -5
- package/module/es5/tests/unit/String/padStart.test.js +32 -19
- package/module/es5/tests/unit/String/randomString.test.js +3 -3
- package/module/es5/tests/unit/String/randomStringInitialization.test.js +2 -2
- package/module/es5/tests/unit/String/reverseString.test.js +10 -12
- package/module/es5/tests/unit/String/toBase64.test.js +5 -5
- package/module/es5/tests/unit/String/toHalfWidth.test.js +3 -3
- package/module/es5/tests/unit/String/trimCharacters.test.js +4 -4
- package/module/es5/tests/unit/String/trimEndCharacters.test.js +17 -7
- package/module/es5/tests/unit/String/trimStartCharacters.test.js +23 -10
- package/module/es5/tests/unit/Time/convertTime.test.js +40 -46
- package/module/es5/tests/unit/Tool/createPipeline.test.js +15 -15
- package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.d.ts +1 -0
- package/module/es5/tests/unit/UA/extractBrowserFromUserAgent.test.js +47 -0
- package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.d.ts +1 -0
- package/module/es5/tests/unit/UA/extractDeviceFromUserAgent.test.js +55 -0
- package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.d.ts +1 -0
- package/module/es5/tests/unit/UA/extractOsFromUserAgent.test.js +57 -0
- package/module/es5/tests/unit/Unit/unitConverterInitialization.test.d.ts +1 -0
- package/module/es5/tests/unit/Unit/unitConverterInitialization.test.js +40 -0
- package/module/es5/tests/unit/Validate/array/core.test.js +39 -10
- package/module/es5/tests/unit/Validate/core/core.test.d.ts +1 -0
- package/module/es5/tests/unit/Validate/core/core.test.js +87 -0
- package/module/es5/tests/unit/Validate/isArray.test.js +11 -0
- package/module/es5/tests/unit/Validate/isDictionaryObject.test.js +15 -1
- package/module/es5/tests/unit/Validate/isDouble.test.js +21 -4
- package/module/es5/tests/unit/Validate/isNotEmpty.test.js +3 -3
- package/module/es5/tests/unit/Validate/isNumber.test.js +67 -29
- package/module/es5/tests/unit/Validate/isPerfectSquare.test.js +5 -0
- package/module/es5/tests/unit/Validate/isPrimeNumber.test.js +14 -4
- package/module/es5/tests/unit/Validate/isValueNaN.test.js +50 -11
- package/module/es5/tests/unit/Validate/string/uuid.test.js +13 -13
- package/module/es5/tsconfig.tsbuildinfo +1 -1
- package/module/es5/types/array/compareFunction.d.ts +2 -0
- package/module/es5/types/array/compareFunction.js +5 -0
- package/module/es5/types/time/timeUnit.d.ts +1 -1
- package/module/index.d.ts +1 -0
- package/module/index.js +1 -0
- package/module/index.js.map +1 -1
- package/module/types/array/compareFunction.d.ts +2 -0
- package/module/types/array/compareFunction.js +2 -0
- package/module/types/array/compareFunction.js.map +1 -0
- package/module/types/time/timeUnit.d.ts +1 -1
- package/package.json +14 -14
package/module/IP/isPrivateIp.js
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import { ipToLong } from "./ipToLong";
|
|
2
1
|
import { isInRange } from "./isInRange";
|
|
3
2
|
/**
|
|
4
|
-
* IP
|
|
5
|
-
* @param {string} ip -
|
|
6
|
-
* @returns {boolean}
|
|
3
|
+
* Checks if an IP address is within private IP ranges
|
|
4
|
+
* @param {string} ip - IP address to check (e.g., "192.168.1.1")
|
|
5
|
+
* @returns {boolean} True if the IP is private, false otherwise
|
|
6
|
+
* @throws {Error} If IP address is invalid
|
|
7
7
|
*/
|
|
8
8
|
export const isPrivateIp = (ip) => {
|
|
9
|
-
|
|
9
|
+
if (!ip) {
|
|
10
|
+
throw new Error("IP address is required");
|
|
11
|
+
}
|
|
12
|
+
// Define private IP ranges with their CIDR notations
|
|
10
13
|
const privateRanges = [
|
|
11
|
-
{
|
|
12
|
-
{
|
|
13
|
-
{
|
|
14
|
+
{ network: "10.0.0.0", cidr: 8 }, // Class A private network
|
|
15
|
+
{ network: "172.16.0.0", cidr: 12 }, // Class B private network
|
|
16
|
+
{ network: "192.168.0.0", cidr: 16 }, // Class C private network
|
|
14
17
|
];
|
|
15
|
-
|
|
18
|
+
try {
|
|
19
|
+
return privateRanges.some((range) => isInRange(ip, range.network, range.cidr));
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Invalid IP address: ${String(error)}`);
|
|
23
|
+
}
|
|
16
24
|
};
|
|
17
25
|
//# sourceMappingURL=isPrivateIp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPrivateIp.js","sourceRoot":"","sources":["../../src/IP/isPrivateIp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"isPrivateIp.js","sourceRoot":"","sources":["../../src/IP/isPrivateIp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAW,EAAE;IACjD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,qDAAqD;IACrD,MAAM,aAAa,GAAG;QACpB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,0BAA0B;QAC5D,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,0BAA0B;QAC/D,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,0BAA0B;KACjE,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CACzC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC"}
|
package/module/IP/longToIp.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 32
|
|
3
|
-
* @param {number} long -
|
|
4
|
-
* @returns {string}
|
|
2
|
+
* Converts a 32-bit number to an IPv4 address
|
|
3
|
+
* @param {number} long - 32-bit unsigned integer to convert
|
|
4
|
+
* @returns {string} IPv4 address (e.g., "192.168.1.1")
|
|
5
|
+
* @throws {Error} If input is not a valid 32-bit unsigned integer
|
|
5
6
|
*/
|
|
6
7
|
export declare const longToIp: (long: number) => string;
|
package/module/IP/longToIp.js
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 32
|
|
3
|
-
* @param {number} long -
|
|
4
|
-
* @returns {string}
|
|
2
|
+
* Converts a 32-bit number to an IPv4 address
|
|
3
|
+
* @param {number} long - 32-bit unsigned integer to convert
|
|
4
|
+
* @returns {string} IPv4 address (e.g., "192.168.1.1")
|
|
5
|
+
* @throws {Error} If input is not a valid 32-bit unsigned integer
|
|
5
6
|
*/
|
|
6
7
|
export const longToIp = (long) => {
|
|
8
|
+
// Validate input
|
|
9
|
+
if (!Number.isFinite(long) ||
|
|
10
|
+
long < 0 ||
|
|
11
|
+
long > 0xff_ff_ff_ff ||
|
|
12
|
+
!Number.isInteger(long)) {
|
|
13
|
+
throw new Error("Input must be a valid 32-bit unsigned integer");
|
|
14
|
+
}
|
|
15
|
+
// Convert to binary string and ensure 32-bit length
|
|
7
16
|
const binary = long.toString(2).padStart(32, "0");
|
|
8
|
-
|
|
17
|
+
// Split into octets and convert to decimal
|
|
18
|
+
const octets = Array.from({ length: 4 }, (_, index) => Number.parseInt(binary.slice(index * 8, (index + 1) * 8), 2));
|
|
19
|
+
// Join octets with dots
|
|
20
|
+
return octets.join(".");
|
|
9
21
|
};
|
|
10
22
|
//# sourceMappingURL=longToIp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"longToIp.js","sourceRoot":"","sources":["../../src/IP/longToIp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"longToIp.js","sourceRoot":"","sources":["../../src/IP/longToIp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IAC/C,iBAAiB;IACjB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,CAAC;QACR,IAAI,GAAG,aAAa;QACpB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAElD,2CAA2C;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACpD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;IAEF,wBAAwB;IACxB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {string} subnetMask -
|
|
4
|
-
* @returns {number} CIDR
|
|
2
|
+
* Converts a subnet mask to CIDR notation
|
|
3
|
+
* @param {string} subnetMask - IPv4 subnet mask (e.g., "255.255.255.0")
|
|
4
|
+
* @returns {number} CIDR notation (0-32)
|
|
5
|
+
* @throws {Error} If subnet mask is invalid
|
|
5
6
|
*/
|
|
6
7
|
export declare const subnetMaskToCidr: (subnetMask: string) => number;
|
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
import { ipToBinaryString } from "./ipToBinaryString";
|
|
2
|
-
import { isValueNaN } from "../Validate/isValueNaN";
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @param {string} subnetMask -
|
|
6
|
-
* @returns {number} CIDR
|
|
2
|
+
* Converts a subnet mask to CIDR notation
|
|
3
|
+
* @param {string} subnetMask - IPv4 subnet mask (e.g., "255.255.255.0")
|
|
4
|
+
* @returns {number} CIDR notation (0-32)
|
|
5
|
+
* @throws {Error} If subnet mask is invalid
|
|
7
6
|
*/
|
|
8
7
|
export const subnetMaskToCidr = (subnetMask) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (octets.length !== 4 ||
|
|
12
|
-
octets.some((octet) => isValueNaN(octet, true) || octet < 0 || octet > 255)) {
|
|
13
|
-
return 0;
|
|
8
|
+
if (!subnetMask) {
|
|
9
|
+
throw new Error("Subnet mask is required");
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
// Parse octets and validate format
|
|
12
|
+
const octets = subnetMask.split(".");
|
|
13
|
+
if (octets.length !== 4) {
|
|
14
|
+
throw new Error("Invalid subnet mask format");
|
|
15
|
+
}
|
|
16
|
+
// Validate each octet
|
|
17
|
+
const binaryOctets = octets.map((octet) => {
|
|
18
|
+
const number_ = Number.parseInt(octet);
|
|
19
|
+
if (Number.isNaN(number_) || number_ < 0 || number_ > 255) {
|
|
20
|
+
throw new Error("Invalid subnet mask format");
|
|
21
|
+
}
|
|
22
|
+
return number_.toString(2).padStart(8, "0");
|
|
23
|
+
});
|
|
24
|
+
// Join octets and count consecutive 1s
|
|
25
|
+
const binaryString = binaryOctets.join("");
|
|
26
|
+
const match = binaryString.match(/^1*0*$/);
|
|
27
|
+
if (!match) {
|
|
28
|
+
throw new Error("Invalid subnet mask: must be consecutive 1s followed by 0s");
|
|
29
|
+
}
|
|
30
|
+
// Count 1s
|
|
31
|
+
const cidr = binaryString.match(/1/g)?.length ?? 0;
|
|
32
|
+
return cidr;
|
|
17
33
|
};
|
|
18
34
|
//# sourceMappingURL=subnetMaskToCidr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"subnetMaskToCidr.js","sourceRoot":"","sources":["../../src/IP/subnetMaskToCidr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAU,EAAE;IAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,mCAAmC;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,WAAW;IACX,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {number[]} numbers
|
|
4
|
-
* @returns number
|
|
2
|
+
* Addition without floating point errors
|
|
3
|
+
* @param {number[]} numbers Numbers to add
|
|
4
|
+
* @returns number Sum of the numbers
|
|
5
5
|
* @example addition(0.1, 0.2); // 0.3
|
|
6
6
|
*/
|
|
7
7
|
export declare const addition: (...numbers: number[]) => number;
|
package/module/Math/addition.js
CHANGED
|
@@ -2,9 +2,9 @@ import { getDecimalLength } from "./getDecimalLength";
|
|
|
2
2
|
import { max } from "./max";
|
|
3
3
|
import { multiplication } from "./multiplication";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @param {number[]} numbers
|
|
7
|
-
* @returns number
|
|
5
|
+
* Addition without floating point errors
|
|
6
|
+
* @param {number[]} numbers Numbers to add
|
|
7
|
+
* @returns number Sum of the numbers
|
|
8
8
|
* @example addition(0.1, 0.2); // 0.3
|
|
9
9
|
*/
|
|
10
10
|
export const addition = (...numbers) => {
|
package/module/Math/average.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {number[]} numbers
|
|
4
|
-
* @returns number
|
|
5
|
-
* @example
|
|
2
|
+
* Calculates the arithmetic mean of an array of numbers
|
|
3
|
+
* @param {number[]} numbers - Array of numbers to average
|
|
4
|
+
* @returns {number} The arithmetic mean, returns 0 for empty array
|
|
5
|
+
* @example
|
|
6
|
+
* average([1, 2, 3]); // 2
|
|
7
|
+
* average([10, 20]); // 15
|
|
8
|
+
* average([]); // 0
|
|
6
9
|
*/
|
|
7
10
|
export declare const average: (numbers: number[]) => number;
|
package/module/Math/average.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { addition } from "./addition";
|
|
2
2
|
import { division } from "./division";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* @param {number[]} numbers
|
|
6
|
-
* @returns number
|
|
7
|
-
* @example
|
|
4
|
+
* Calculates the arithmetic mean of an array of numbers
|
|
5
|
+
* @param {number[]} numbers - Array of numbers to average
|
|
6
|
+
* @returns {number} The arithmetic mean, returns 0 for empty array
|
|
7
|
+
* @example
|
|
8
|
+
* average([1, 2, 3]); // 2
|
|
9
|
+
* average([10, 20]); // 15
|
|
10
|
+
* average([]); // 0
|
|
8
11
|
*/
|
|
9
12
|
export const average = (numbers) => {
|
|
10
13
|
if (numbers.length === 0) {
|
|
@@ -1 +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
|
|
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;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAU,EAAE;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;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"}
|
package/module/Math/bitwise.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param x
|
|
4
|
-
* @param k
|
|
5
|
-
* @param direction
|
|
6
|
-
* @returns
|
|
2
|
+
* Performs bit rotation on a number
|
|
3
|
+
* @param x 32-bit integer to rotate
|
|
4
|
+
* @param k Number of bits to rotate
|
|
5
|
+
* @param direction Direction of rotation ('left' or 'right')
|
|
6
|
+
* @returns The result after rotating k bits in the specified direction
|
|
7
7
|
* @example
|
|
8
8
|
* const resultLeft = bitwise(0x12345678, 8);
|
|
9
9
|
* console.log(resultLeft.toString(16)); // '34567812'
|
package/module/Math/bitwise.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param x
|
|
4
|
-
* @param k
|
|
5
|
-
* @param direction
|
|
6
|
-
* @returns
|
|
2
|
+
* Performs bit rotation on a number
|
|
3
|
+
* @param x 32-bit integer to rotate
|
|
4
|
+
* @param k Number of bits to rotate
|
|
5
|
+
* @param direction Direction of rotation ('left' or 'right')
|
|
6
|
+
* @returns The result after rotating k bits in the specified direction
|
|
7
7
|
* @example
|
|
8
8
|
* const resultLeft = bitwise(0x12345678, 8);
|
|
9
9
|
* console.log(resultLeft.toString(16)); // '34567812'
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
7
|
-
* @returns
|
|
8
|
-
* @example calculator("1+2"); // 3
|
|
2
|
+
* Calculator function that handles mathematical expressions and simple equations
|
|
3
|
+
* Supports parentheses, signs, and currency conversion
|
|
4
|
+
* Handles simple equations with single-character variables
|
|
5
|
+
* @param {string} expression - Mathematical expression or equation
|
|
6
|
+
* @param {object} exchange - Exchange rates for currency conversion
|
|
7
|
+
* @returns {string} Calculation result
|
|
8
|
+
* @example calculator("1+2"); // "3"
|
|
9
|
+
* @example calculator("(2+3)*4"); // "20"
|
|
10
|
+
* @example calculator("x=5"); // "x=5"
|
|
9
11
|
*/
|
|
10
12
|
export declare const calculator: <T extends Record<string, string | number>>(expression: string, exchange?: T) => string;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { calculatorCore } from "./core";
|
|
2
2
|
import { literalExpression } from "./literalExpression";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @param
|
|
8
|
-
* @param
|
|
9
|
-
* @returns
|
|
10
|
-
* @example calculator("1+2"); // 3
|
|
4
|
+
* Calculator function that handles mathematical expressions and simple equations
|
|
5
|
+
* Supports parentheses, signs, and currency conversion
|
|
6
|
+
* Handles simple equations with single-character variables
|
|
7
|
+
* @param {string} expression - Mathematical expression or equation
|
|
8
|
+
* @param {object} exchange - Exchange rates for currency conversion
|
|
9
|
+
* @returns {string} Calculation result
|
|
10
|
+
* @example calculator("1+2"); // "3"
|
|
11
|
+
* @example calculator("(2+3)*4"); // "20"
|
|
12
|
+
* @example calculator("x=5"); // "x=5"
|
|
11
13
|
*/
|
|
12
14
|
export const calculator = (expression, exchange) => {
|
|
13
15
|
const cleanExpression = expression.replaceAll(/\s+/g, "");
|
|
@@ -1 +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
|
|
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;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,UAAkB,EAClB,QAAY,EACZ,EAAE;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC;QACpC,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {object} exchange -
|
|
4
|
-
* @return {Function} - calculator
|
|
2
|
+
* Initializes a calculator function with exchange rates
|
|
3
|
+
* @param {object} exchange - Exchange rates object
|
|
4
|
+
* @return {Function} - Configured calculator function
|
|
5
5
|
* @example calculatorInitialization({ $: 100 })("$1"); // "100"
|
|
6
|
+
* @example calculatorInitialization({ EUR: 1.2 })("EUR5 + 10"); // "16"
|
|
6
7
|
*/
|
|
7
8
|
export declare const calculatorInitialization: <T extends {
|
|
8
9
|
[key: string]: string | number;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { calculator } from "./calculator";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @param {object} exchange -
|
|
5
|
-
* @return {Function} - calculator
|
|
3
|
+
* Initializes a calculator function with exchange rates
|
|
4
|
+
* @param {object} exchange - Exchange rates object
|
|
5
|
+
* @return {Function} - Configured calculator function
|
|
6
6
|
* @example calculatorInitialization({ $: 100 })("$1"); // "100"
|
|
7
|
+
* @example calculatorInitialization({ EUR: 1.2 })("EUR5 + 10"); // "16"
|
|
7
8
|
*/
|
|
8
9
|
export const calculatorInitialization = (exchange) => {
|
|
9
10
|
/**
|
|
10
|
-
* @param {string} x -
|
|
11
|
-
* @return {string} -
|
|
11
|
+
* @param {string} x - Expression to calculate
|
|
12
|
+
* @return {string} - Calculation result
|
|
12
13
|
*/
|
|
13
14
|
return (x) => calculator(x, exchange);
|
|
14
15
|
};
|
|
@@ -1 +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
|
|
1
|
+
{"version":3,"file":"calculatorInitialization.js","sourceRoot":"","sources":["../../../src/Math/calculator/calculatorInitialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Converts currency amounts in a string using currency symbols.
|
|
3
3
|
*
|
|
4
|
-
* @param inputString -
|
|
5
|
-
* @param conversionRates -
|
|
6
|
-
* @returns
|
|
4
|
+
* @param {string} inputString - String containing a currency amount to convert
|
|
5
|
+
* @param {object} conversionRates - Object mapping currency symbols to conversion rates
|
|
6
|
+
* @returns {string} Converted currency amount as a string, or the original string if conversion is not possible
|
|
7
7
|
* @example convertCurrency("¥100", { "¥": 0.01 }); // "1"
|
|
8
|
+
* @example convertCurrency("$50", { "$": 1.2 }); // "60"
|
|
9
|
+
* @example convertCurrency("€200", { "€": 1.1 }); // "220"
|
|
8
10
|
*/
|
|
9
11
|
export declare const convertCurrency: <T extends {
|
|
10
12
|
[key: string]: number | string;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { multiplication } from "../../Math/multiplication";
|
|
2
2
|
import { isNumber } from "../../Validate/isNumber";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Converts currency amounts in a string using currency symbols.
|
|
5
5
|
*
|
|
6
|
-
* @param inputString -
|
|
7
|
-
* @param conversionRates -
|
|
8
|
-
* @returns
|
|
6
|
+
* @param {string} inputString - String containing a currency amount to convert
|
|
7
|
+
* @param {object} conversionRates - Object mapping currency symbols to conversion rates
|
|
8
|
+
* @returns {string} Converted currency amount as a string, or the original string if conversion is not possible
|
|
9
9
|
* @example convertCurrency("¥100", { "¥": 0.01 }); // "1"
|
|
10
|
+
* @example convertCurrency("$50", { "$": 1.2 }); // "60"
|
|
11
|
+
* @example convertCurrency("€200", { "€": 1.1 }); // "220"
|
|
10
12
|
*/
|
|
11
13
|
export const convertCurrency = (inputString, conversionRates) => {
|
|
12
14
|
if (!conversionRates) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertCurrency.js","sourceRoot":"","sources":["../../../src/Math/calculator/convertCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"convertCurrency.js","sourceRoot":"","sources":["../../../src/Math/calculator/convertCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAK7B,WAAmB,EACnB,eAAmB,EACnB,EAAE;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAoB,eAAe,CAAC,cAAc,CAAC,CAAC;YAE9D,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,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;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -6,15 +6,15 @@ import { subtract } from "../../Math/subtract";
|
|
|
6
6
|
import { isNumber } from "../../Validate/isNumber";
|
|
7
7
|
export const calculatorCore = (expression, currencyExchange) => {
|
|
8
8
|
let sanitizedExpression = expression;
|
|
9
|
-
//
|
|
9
|
+
// Handle signs
|
|
10
10
|
sanitizedExpression = sanitizeSigns(sanitizedExpression);
|
|
11
|
-
//
|
|
11
|
+
// Main calculation loop
|
|
12
12
|
while (true) {
|
|
13
|
-
//
|
|
13
|
+
// Currency conversion
|
|
14
14
|
if (currencyExchange) {
|
|
15
15
|
sanitizedExpression = applyCurrencyExchange(sanitizedExpression, currencyExchange);
|
|
16
16
|
}
|
|
17
|
-
//
|
|
17
|
+
// Handle parentheses
|
|
18
18
|
if (containsParentheses(sanitizedExpression)) {
|
|
19
19
|
const temporary = resolveParentheses(sanitizedExpression);
|
|
20
20
|
if (temporary === Number.NaN.toString()) {
|
|
@@ -22,7 +22,7 @@ export const calculatorCore = (expression, currencyExchange) => {
|
|
|
22
22
|
}
|
|
23
23
|
sanitizedExpression = temporary;
|
|
24
24
|
}
|
|
25
|
-
//
|
|
25
|
+
// Handle multiplication and exponentiation
|
|
26
26
|
else if (containsMulExp(sanitizedExpression)) {
|
|
27
27
|
const temporary = resolveMulExp(sanitizedExpression);
|
|
28
28
|
if (temporary === Number.NaN.toString()) {
|
|
@@ -30,7 +30,7 @@ export const calculatorCore = (expression, currencyExchange) => {
|
|
|
30
30
|
}
|
|
31
31
|
sanitizedExpression = temporary;
|
|
32
32
|
}
|
|
33
|
-
//
|
|
33
|
+
// Handle division
|
|
34
34
|
else if (containsDiv(sanitizedExpression)) {
|
|
35
35
|
const temporary = resolveDiv(sanitizedExpression);
|
|
36
36
|
if (temporary === Number.NaN.toString()) {
|
|
@@ -38,7 +38,7 @@ export const calculatorCore = (expression, currencyExchange) => {
|
|
|
38
38
|
}
|
|
39
39
|
sanitizedExpression = temporary;
|
|
40
40
|
}
|
|
41
|
-
//
|
|
41
|
+
// Handle addition and subtraction
|
|
42
42
|
else if (containsAddSub(sanitizedExpression) &&
|
|
43
43
|
!isNumber(sanitizedExpression)) {
|
|
44
44
|
const temporary = resolveAddSub(sanitizedExpression);
|
|
@@ -47,7 +47,7 @@ export const calculatorCore = (expression, currencyExchange) => {
|
|
|
47
47
|
}
|
|
48
48
|
sanitizedExpression = temporary;
|
|
49
49
|
}
|
|
50
|
-
//
|
|
50
|
+
// Return result if no more calculations needed
|
|
51
51
|
else {
|
|
52
52
|
return sanitizedExpression;
|
|
53
53
|
}
|
|
@@ -62,7 +62,7 @@ const sanitizeSigns = (expr) => {
|
|
|
62
62
|
};
|
|
63
63
|
const applyCurrencyExchange = (expr, rates) => {
|
|
64
64
|
let returnExpr = expr;
|
|
65
|
-
//
|
|
65
|
+
// Currency exchange logic
|
|
66
66
|
for (const index in rates) {
|
|
67
67
|
if (returnExpr.includes(index)) {
|
|
68
68
|
const $ = returnExpr.match(new RegExp(`\\${index}([0-9]+)`));
|
|
@@ -77,7 +77,7 @@ const containsParentheses = (expr) => {
|
|
|
77
77
|
return expr.includes("(") || expr.includes(")");
|
|
78
78
|
};
|
|
79
79
|
const resolveParentheses = (expr) => {
|
|
80
|
-
//
|
|
80
|
+
// Logic for calculations inside parentheses
|
|
81
81
|
const match = expr.match(/\(\d+\.?(\d+)?([*+/-])\d+\.?(\d+)?\)/);
|
|
82
82
|
if (match) {
|
|
83
83
|
return expr.replace(match[0], calculatorCore(match[0].replaceAll(/\(|\)/g, "")));
|
|
@@ -91,7 +91,7 @@ const containsDiv = (expr) => {
|
|
|
91
91
|
return expr.includes("/");
|
|
92
92
|
};
|
|
93
93
|
const resolveMulExp = (expr) => {
|
|
94
|
-
//
|
|
94
|
+
// Logic for multiplication and exponentiation
|
|
95
95
|
const match = expr.match(/(.*?)(\d+\.?(\d+)?([*^])\d+\.?(\d+)?$)/);
|
|
96
96
|
if (match) {
|
|
97
97
|
const operands = match[2].split(/([*/^])/);
|
|
@@ -103,7 +103,7 @@ const resolveMulExp = (expr) => {
|
|
|
103
103
|
return Number.NaN.toString();
|
|
104
104
|
};
|
|
105
105
|
const resolveDiv = (expr) => {
|
|
106
|
-
//
|
|
106
|
+
// Logic for division
|
|
107
107
|
const match = expr.match(/\d+\.?(\d+)?(\/)\d+\.?(\d+)?/);
|
|
108
108
|
if (match) {
|
|
109
109
|
const operands = match[0].split(/(\/)/);
|
|
@@ -116,7 +116,7 @@ const containsAddSub = (expr) => {
|
|
|
116
116
|
return expr.includes("+") || expr.includes("-");
|
|
117
117
|
};
|
|
118
118
|
const resolveAddSub = (expr) => {
|
|
119
|
-
//
|
|
119
|
+
// Logic for addition and subtraction
|
|
120
120
|
const match = expr.match(/(-?\d+)\.?(\d+)?(\+|-)(-?\d+)\.?(\d+)?/);
|
|
121
121
|
if (match) {
|
|
122
122
|
const result = match[3] === "+"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Math/calculator/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,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,qBAAqB,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAkB,EAClB,gBAAoB,EACZ,EAAE;IACV,IAAI,mBAAmB,GAAG,UAAU,CAAC;IAErC,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/Math/calculator/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param x
|
|
4
|
-
* @returns
|
|
2
|
+
* Solves literal equations with variables
|
|
3
|
+
* @param {string} x - Equation string
|
|
4
|
+
* @returns {string} Solution result
|
|
5
5
|
* @example literalExpression("x+1=2"); // "1"
|
|
6
|
+
* @example literalExpression("2x=6"); // "3"
|
|
7
|
+
* @example literalExpression("3x+2=8"); // "2"
|
|
6
8
|
*/
|
|
7
9
|
export declare const literalExpression: (x: string) => string;
|
|
@@ -2,16 +2,18 @@ import { calculatorCore } from "./core";
|
|
|
2
2
|
import { division } from "../../Math/division";
|
|
3
3
|
import { gcd } from "../../Math/gcd";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @param x
|
|
7
|
-
* @returns
|
|
5
|
+
* Solves literal equations with variables
|
|
6
|
+
* @param {string} x - Equation string
|
|
7
|
+
* @returns {string} Solution result
|
|
8
8
|
* @example literalExpression("x+1=2"); // "1"
|
|
9
|
+
* @example literalExpression("2x=6"); // "3"
|
|
10
|
+
* @example literalExpression("3x+2=8"); // "2"
|
|
9
11
|
*/
|
|
10
12
|
export const literalExpression = (x) => {
|
|
11
|
-
//
|
|
13
|
+
// Store numerical and variable parts of the equation
|
|
12
14
|
let numericalPart = "";
|
|
13
15
|
let variablePart = [];
|
|
14
|
-
//
|
|
16
|
+
// Split by equals sign and identify numerical and variable parts
|
|
15
17
|
for (const part of x.split("=")) {
|
|
16
18
|
if (/[A-Za-z]+/.test(part)) {
|
|
17
19
|
variablePart = part
|
|
@@ -22,7 +24,7 @@ export const literalExpression = (x) => {
|
|
|
22
24
|
numericalPart = part;
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
|
-
//
|
|
27
|
+
// Calculate the variable part (and invert signs for moving to other side of equation)
|
|
26
28
|
if (variablePart[1]) {
|
|
27
29
|
variablePart[1] = calculatorCore(variablePart[1])
|
|
28
30
|
.replaceAll("+", "plus")
|
|
@@ -30,19 +32,19 @@ export const literalExpression = (x) => {
|
|
|
30
32
|
.replaceAll("plus", "-")
|
|
31
33
|
.replaceAll("minus", "+");
|
|
32
34
|
}
|
|
33
|
-
//
|
|
35
|
+
// Calculate the numerical part
|
|
34
36
|
numericalPart = variablePart[1]
|
|
35
37
|
? calculatorCore(`${numericalPart}${variablePart[1]}`)
|
|
36
38
|
: calculatorCore(numericalPart);
|
|
37
|
-
//
|
|
39
|
+
// Split the variable part again to separate coefficient and variable
|
|
38
40
|
variablePart = variablePart[0]
|
|
39
41
|
.split(/(\d+)|([A-Za-z]+)/)
|
|
40
42
|
.filter((n) => n && n !== undefined);
|
|
41
|
-
//
|
|
43
|
+
// If there's no coefficient, return the numerical result
|
|
42
44
|
if (Number.isNaN(Number(variablePart[0]))) {
|
|
43
45
|
return numericalPart;
|
|
44
46
|
}
|
|
45
|
-
//
|
|
47
|
+
// Simplify using greatest common divisor
|
|
46
48
|
const commonGcd = gcd(Number(variablePart[0]), Number(numericalPart));
|
|
47
49
|
if (commonGcd !== 1) {
|
|
48
50
|
numericalPart = `${division(Number(numericalPart), commonGcd)}/${division(Number(variablePart[0]), commonGcd)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literalExpression.js","sourceRoot":"","sources":["../../../src/Math/calculator/literalExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC
|
|
1
|
+
{"version":3,"file":"literalExpression.js","sourceRoot":"","sources":["../../../src/Math/calculator/literalExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAU,EAAE;IACrD,qDAAqD;IACrD,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,YAAY,GAAa,EAAE,CAAC;IAEhC,iEAAiE;IACjE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,YAAY,GAAG,IAAI;iBAChB,KAAK,CAAC,6BAA6B,CAAC;iBACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,YAAY,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC9C,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;aACvB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;aACxB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;aACvB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,cAAc,CAAC,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAElC,qEAAqE;IACrE,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IAEvC,yDAAyD;IACzD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,aAAa,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,IAAI,QAAQ,CACvE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACvB,SAAS,CACV,EAAE,CAAC;QACJ,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,aAAa,GAAG,GAAG,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {number} x
|
|
4
|
-
* @returns number
|
|
2
|
+
* Converts degrees to radians
|
|
3
|
+
* @param {number} x Angle in degrees
|
|
4
|
+
* @returns number Angle in radians
|
|
5
5
|
* @example degToRad(180); // 3.141592653589793
|
|
6
6
|
*/
|
|
7
7
|
export declare const degToRad: (x: number) => number;
|