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
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _extractBrowserFromUserAgent = require("@/UA/extractBrowserFromUserAgent");
|
|
4
|
+
describe("extractBrowserFromUserAgent", function () {
|
|
5
|
+
it("should detect Edge browser", function () {
|
|
6
|
+
var edgeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57";
|
|
7
|
+
var legacyEdgeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edge/89.0.774.57";
|
|
8
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(edgeUA)).toBe("edge");
|
|
9
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(legacyEdgeUA)).toBe("edge");
|
|
10
|
+
});
|
|
11
|
+
it("should detect desktop Chrome browser", function () {
|
|
12
|
+
var chromeUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
13
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeUA)).toBe("chrome");
|
|
14
|
+
});
|
|
15
|
+
it("should detect iOS Chrome browser (CriOS)", function () {
|
|
16
|
+
var chromeIosUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/89.0.4389.90 Mobile/15E148 Safari/604.1";
|
|
17
|
+
var chromeIpadUA = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/89.0.4389.90 Mobile/15E148 Safari/604.1";
|
|
18
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeIosUA)).toBe("chrome");
|
|
19
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(chromeIpadUA)).toBe("chrome");
|
|
20
|
+
});
|
|
21
|
+
it("should detect Firefox browser", function () {
|
|
22
|
+
var firefoxUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0";
|
|
23
|
+
var firefoxIosUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/33.0 Mobile/15E148 Safari/605.1.15";
|
|
24
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(firefoxUA)).toBe("firefox");
|
|
25
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(firefoxIosUA)).toBe("firefox");
|
|
26
|
+
});
|
|
27
|
+
it("should detect Safari browser", function () {
|
|
28
|
+
var safariUA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
|
|
29
|
+
var mobileSafariUA = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
|
|
30
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(safariUA)).toBe("safari");
|
|
31
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(mobileSafariUA)).toBe("safari");
|
|
32
|
+
});
|
|
33
|
+
it("should detect Internet Explorer", function () {
|
|
34
|
+
var ie11UA = "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko";
|
|
35
|
+
var ie10UA = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)";
|
|
36
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(ie11UA)).toBe("ie");
|
|
37
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(ie10UA)).toBe("ie");
|
|
38
|
+
});
|
|
39
|
+
it("should return 'other' for unknown browsers", function () {
|
|
40
|
+
var operaUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 OPR/75.0.3969.149";
|
|
41
|
+
var unknownUA = "Unknown Browser";
|
|
42
|
+
var emptyUA = "";
|
|
43
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(operaUA)).toBe("other");
|
|
44
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(unknownUA)).toBe("other");
|
|
45
|
+
expect((0, _extractBrowserFromUserAgent.extractBrowserFromUserAgent)(emptyUA)).toBe("other");
|
|
46
|
+
});
|
|
47
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _extractDeviceFromUserAgent = require("@/UA/extractDeviceFromUserAgent");
|
|
4
|
+
describe("extractDeviceFromUserAgent", function () {
|
|
5
|
+
it("should detect bots and crawlers", function () {
|
|
6
|
+
var googlebot = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
|
|
7
|
+
var bingbot = "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)";
|
|
8
|
+
var crawler = "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)";
|
|
9
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(googlebot)).toBe("bot");
|
|
10
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(bingbot)).toBe("bot");
|
|
11
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(crawler)).toBe("bot");
|
|
12
|
+
});
|
|
13
|
+
it("should detect mobile devices", function () {
|
|
14
|
+
var iphone = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
|
|
15
|
+
var androidMobile = "Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36";
|
|
16
|
+
var blackberry = "Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+";
|
|
17
|
+
var operaMini = "Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/28.2725; U; ru) Presto/2.8.119 Version/11.10";
|
|
18
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(iphone)).toBe("mobile");
|
|
19
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidMobile)).toBe("mobile");
|
|
20
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(blackberry)).toBe("mobile");
|
|
21
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(operaMini)).toBe("mobile");
|
|
22
|
+
});
|
|
23
|
+
it("should detect tablets", function () {
|
|
24
|
+
var ipad = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
|
|
25
|
+
var androidTablet = "Mozilla/5.0 (Linux; Android 11; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
26
|
+
var androidNonMobile = "Mozilla/5.0 (Linux; Android 11; SAMSUNG-SM-T377A Build/NMF26X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
27
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(ipad)).toBe("tablet");
|
|
28
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidTablet)).toBe("tablet");
|
|
29
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidNonMobile)).toBe("tablet");
|
|
30
|
+
});
|
|
31
|
+
it("should detect desktop devices", function () {
|
|
32
|
+
var windows = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
33
|
+
var mac = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
|
|
34
|
+
var linux = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
35
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(windows)).toBe("desktop");
|
|
36
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(mac)).toBe("desktop");
|
|
37
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(linux)).toBe("desktop");
|
|
38
|
+
});
|
|
39
|
+
it("should handle unknown devices", function () {
|
|
40
|
+
var empty = "";
|
|
41
|
+
var unknown = "Unknown Device";
|
|
42
|
+
var customDevice = "Mozilla/5.0 (CustomOS; Device) CustomBrowser/1.0";
|
|
43
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(empty)).toBe("other");
|
|
44
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(unknown)).toBe("other");
|
|
45
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(customDevice)).toBe("other");
|
|
46
|
+
});
|
|
47
|
+
it("should handle Android edge cases", function () {
|
|
48
|
+
// Android device with explicit mobile flag
|
|
49
|
+
var androidMobile = "Mozilla/5.0 (Linux; Android 10; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
50
|
+
// Android device without mobile flag (should be detected as tablet)
|
|
51
|
+
var androidNonMobile = "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
52
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidMobile)).toBe("mobile");
|
|
53
|
+
expect((0, _extractDeviceFromUserAgent.extractDeviceFromUserAgent)(androidNonMobile)).toBe("tablet");
|
|
54
|
+
});
|
|
55
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _extractOsFromUserAgent = require("@/UA/extractOsFromUserAgent");
|
|
4
|
+
describe("extractOsFromUserAgent", function () {
|
|
5
|
+
it("should detect iOS devices", function () {
|
|
6
|
+
var iphone = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1";
|
|
7
|
+
var ipad = "Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
|
|
8
|
+
var ipod = "Mozilla/5.0 (iPod touch; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1";
|
|
9
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(iphone)).toBe("ios");
|
|
10
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ipad)).toBe("ios");
|
|
11
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ipod)).toBe("ios");
|
|
12
|
+
});
|
|
13
|
+
it("should detect Android devices", function () {
|
|
14
|
+
var androidPhone = "Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36";
|
|
15
|
+
var androidTablet = "Mozilla/5.0 (Linux; Android 11; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
16
|
+
var androidTV = "Mozilla/5.0 (Linux; Android 10; AndroidTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36";
|
|
17
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidPhone)).toBe("android");
|
|
18
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidTablet)).toBe("android");
|
|
19
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(androidTV)).toBe("android");
|
|
20
|
+
});
|
|
21
|
+
it("should detect macOS devices", function () {
|
|
22
|
+
var macOsSafari = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15";
|
|
23
|
+
var macOsChrome = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
24
|
+
var macOsFirefox = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0";
|
|
25
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsSafari)).toBe("macos");
|
|
26
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsChrome)).toBe("macos");
|
|
27
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(macOsFirefox)).toBe("macos");
|
|
28
|
+
});
|
|
29
|
+
it("should detect Windows devices", function () {
|
|
30
|
+
var win10Edge = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57";
|
|
31
|
+
var win10Chrome = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
32
|
+
var win7IE = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
|
|
33
|
+
var win32UA = "Mozilla/5.0 (Win32; x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
34
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win10Edge)).toBe("windows");
|
|
35
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win10Chrome)).toBe("windows");
|
|
36
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win7IE)).toBe("windows");
|
|
37
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(win32UA)).toBe("windows");
|
|
38
|
+
});
|
|
39
|
+
it("should detect Linux devices", function () {
|
|
40
|
+
var ubuntuChrome = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
41
|
+
var fedoraFirefox = "Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0";
|
|
42
|
+
var genericLinux = "Mozilla/5.0 (Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36";
|
|
43
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(ubuntuChrome)).toBe("linux");
|
|
44
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(fedoraFirefox)).toBe("linux");
|
|
45
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(genericLinux)).toBe("linux");
|
|
46
|
+
});
|
|
47
|
+
it("should handle unknown operating systems", function () {
|
|
48
|
+
var empty = "";
|
|
49
|
+
var unknown = "Unknown OS";
|
|
50
|
+
var customOs = "Mozilla/5.0 (CustomOS) CustomBrowser/1.0";
|
|
51
|
+
var bot = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
|
|
52
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(empty)).toBe("other");
|
|
53
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(unknown)).toBe("other");
|
|
54
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(customOs)).toBe("other");
|
|
55
|
+
expect((0, _extractOsFromUserAgent.extractOsFromUserAgent)(bot)).toBe("other");
|
|
56
|
+
});
|
|
57
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _unitConverterInitialization = require("@/Unit/unitConverterInitialization");
|
|
4
|
+
// Example unit converter for length measurements
|
|
5
|
+
var convertLength = (0, _unitConverterInitialization.unitConverterInitialization)({
|
|
6
|
+
meters: 1,
|
|
7
|
+
// base unit
|
|
8
|
+
kilometers: 0.001,
|
|
9
|
+
centimeters: 100,
|
|
10
|
+
millimeters: 1000
|
|
11
|
+
});
|
|
12
|
+
describe("Unit Converter", function () {
|
|
13
|
+
it("converts between base unit and larger units", function () {
|
|
14
|
+
expect(convertLength(1000, "meters", "kilometers")).toBeCloseTo(1);
|
|
15
|
+
expect(convertLength(1, "kilometers", "meters")).toBeCloseTo(1000);
|
|
16
|
+
});
|
|
17
|
+
it("converts between base unit and smaller units", function () {
|
|
18
|
+
expect(convertLength(1, "meters", "centimeters")).toBeCloseTo(100);
|
|
19
|
+
expect(convertLength(100, "centimeters", "meters")).toBeCloseTo(1);
|
|
20
|
+
});
|
|
21
|
+
it("converts between different small units", function () {
|
|
22
|
+
expect(convertLength(100, "centimeters", "millimeters")).toBeCloseTo(1000);
|
|
23
|
+
expect(convertLength(1000, "millimeters", "centimeters")).toBeCloseTo(100);
|
|
24
|
+
});
|
|
25
|
+
it("handles zero values correctly", function () {
|
|
26
|
+
expect(convertLength(0, "meters", "kilometers")).toBe(0);
|
|
27
|
+
expect(convertLength(0, "millimeters", "centimeters")).toBe(0);
|
|
28
|
+
});
|
|
29
|
+
it("returns same value when converting to same unit", function () {
|
|
30
|
+
expect(convertLength(5, "meters", "meters")).toBe(5);
|
|
31
|
+
expect(convertLength(100, "centimeters", "centimeters")).toBe(100);
|
|
32
|
+
});
|
|
33
|
+
it("maintains precision in round-trip conversions", function () {
|
|
34
|
+
var original = 5;
|
|
35
|
+
var roundTrip = convertLength(convertLength(original, "meters", "kilometers"), "kilometers", "meters");
|
|
36
|
+
expect(roundTrip).toBeCloseTo(original);
|
|
37
|
+
var smallUnitsRoundTrip = convertLength(convertLength(original, "centimeters", "millimeters"), "millimeters", "centimeters");
|
|
38
|
+
expect(smallUnitsRoundTrip).toBeCloseTo(original);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -3,12 +3,26 @@
|
|
|
3
3
|
var _Validate = require("@/Validate");
|
|
4
4
|
var _core = require("@/Validate/array/core");
|
|
5
5
|
var _string = require("@/Validate/string");
|
|
6
|
-
describe("
|
|
7
|
-
|
|
6
|
+
describe("Array core validation", function () {
|
|
7
|
+
// Test for empty array
|
|
8
|
+
it("should validate an empty array", function () {
|
|
8
9
|
var validateArray = (0, _core.array)();
|
|
9
|
-
expect(validateArray([
|
|
10
|
+
expect(validateArray([]).validate).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
// Test for null and undefined
|
|
14
|
+
it("should fail validation for null and undefined", function () {
|
|
15
|
+
var validateArray = (0, _core.array)();
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
expect(validateArray(null).validate).toBe(false);
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
expect(validateArray(undefined).validate).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
it("should validate an array of mixed values without type validation", function () {
|
|
22
|
+
var validateArray = (0, _core.array)();
|
|
23
|
+
expect(validateArray(["apple", true, 123]).validate).toBe(true);
|
|
10
24
|
});
|
|
11
|
-
it("should validate an array of strings", function () {
|
|
25
|
+
it("should validate an array of strings with validation", function () {
|
|
12
26
|
var validateArray = (0, _core.array)({
|
|
13
27
|
string: (0, _string.string)()
|
|
14
28
|
});
|
|
@@ -16,7 +30,7 @@ describe("array core validation", function () {
|
|
|
16
30
|
// @ts-ignore
|
|
17
31
|
expect(validateArray(["apple", 1, true]).validate).toBe(false);
|
|
18
32
|
});
|
|
19
|
-
it("should validate an array of numbers", function () {
|
|
33
|
+
it("should validate an array of numbers with range validation", function () {
|
|
20
34
|
var validateArray = (0, _core.array)({
|
|
21
35
|
number: (0, _Validate.number)([(0, _Validate.minValue)(0), (0, _Validate.maxValue)(10)])
|
|
22
36
|
});
|
|
@@ -25,7 +39,7 @@ describe("array core validation", function () {
|
|
|
25
39
|
// @ts-ignore
|
|
26
40
|
expect(validateArray([1, "2", 3]).validate).toBe(false);
|
|
27
41
|
});
|
|
28
|
-
it("should validate an array of
|
|
42
|
+
it("should validate an array of mixed types with specific validations", function () {
|
|
29
43
|
var validateArray = (0, _core.array)({
|
|
30
44
|
string: (0, _string.string)([(0, _string.maxLength)(1)]),
|
|
31
45
|
number: (0, _Validate.number)([(0, _Validate.minValue)(0), (0, _Validate.maxValue)(10)])
|
|
@@ -35,23 +49,38 @@ describe("array core validation", function () {
|
|
|
35
49
|
expect(validateArray([1, "2", 3]).validate).toBe(true);
|
|
36
50
|
expect(validateArray([1, 2, 3, "11"]).validate).toBe(false);
|
|
37
51
|
});
|
|
38
|
-
it("should return a custom message on validation failure", function () {
|
|
52
|
+
it("should return a custom message on array type validation failure", function () {
|
|
39
53
|
var customMessage = "Array validation failed";
|
|
40
54
|
var validateArray = (0, _core.array)({
|
|
41
55
|
string: (0, _string.string)()
|
|
42
56
|
}, customMessage);
|
|
43
57
|
// @ts-ignore
|
|
44
|
-
var result = validateArray(
|
|
58
|
+
var result = validateArray("not an array");
|
|
45
59
|
expect(result.validate).toBe(false);
|
|
46
60
|
expect(result.message).toBe(customMessage);
|
|
47
61
|
});
|
|
48
|
-
it("should return
|
|
62
|
+
it("should return element validation error message", function () {
|
|
63
|
+
var elementMessage = "String too long";
|
|
64
|
+
var validateArray = (0, _core.array)({
|
|
65
|
+
string: (0, _string.string)([(0, _string.maxLength)(3, elementMessage)])
|
|
66
|
+
});
|
|
67
|
+
var result = validateArray(["ok", "good", "toolong"]);
|
|
68
|
+
expect(result.validate).toBe(false);
|
|
69
|
+
expect(result.message).toBe(elementMessage);
|
|
70
|
+
});
|
|
71
|
+
it("should return an empty message when no custom message is provided", function () {
|
|
49
72
|
var validateArray = (0, _core.array)({
|
|
50
73
|
string: (0, _string.string)()
|
|
51
74
|
});
|
|
52
75
|
// @ts-ignore
|
|
53
|
-
var result = validateArray(
|
|
76
|
+
var result = validateArray("not an array");
|
|
54
77
|
expect(result.validate).toBe(false);
|
|
55
78
|
expect(result.message).toBe("");
|
|
56
79
|
});
|
|
80
|
+
it("should preserve the original array in the return type", function () {
|
|
81
|
+
var testArray = [1, 2, 3];
|
|
82
|
+
var validateArray = (0, _core.array)();
|
|
83
|
+
var result = validateArray(testArray);
|
|
84
|
+
expect(result.type).toBe(testArray);
|
|
85
|
+
});
|
|
57
86
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _core = require("@/Validate/core");
|
|
4
|
+
describe("Core validation", function () {
|
|
5
|
+
it("should validate type correctly", function () {
|
|
6
|
+
var validateString = (0, _core.core)("string");
|
|
7
|
+
expect(validateString("test").validate).toBe(true);
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
expect(validateString(123).validate).toBe(false);
|
|
10
|
+
});
|
|
11
|
+
it("should respect custom message for type validation", function () {
|
|
12
|
+
var message = "Not a string";
|
|
13
|
+
var validateString = (0, _core.core)("string");
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
expect(validateString(123, [], message).message).toBe(message);
|
|
16
|
+
});
|
|
17
|
+
it("should return empty message when no message provided", function () {
|
|
18
|
+
var validateString = (0, _core.core)("string");
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
expect(validateString(123).message).toBe("");
|
|
21
|
+
});
|
|
22
|
+
it("should validate with additional validation rules", function () {
|
|
23
|
+
var validateString = (0, _core.core)("string");
|
|
24
|
+
var minLength = {
|
|
25
|
+
type: "string",
|
|
26
|
+
validate: function validate(value) {
|
|
27
|
+
return value.length >= 3;
|
|
28
|
+
},
|
|
29
|
+
message: "String too short"
|
|
30
|
+
};
|
|
31
|
+
expect(validateString("test", [minLength]).validate).toBe(true);
|
|
32
|
+
expect(validateString("ab", [minLength]).validate).toBe(false);
|
|
33
|
+
expect(validateString("ab", [minLength]).message).toBe("String too short");
|
|
34
|
+
|
|
35
|
+
// Test validation rule without message
|
|
36
|
+
var noMessage = {
|
|
37
|
+
type: "string",
|
|
38
|
+
validate: function validate(value) {
|
|
39
|
+
return value.length >= 3;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
expect(validateString("ab", [noMessage]).message).toBe("");
|
|
43
|
+
});
|
|
44
|
+
it("should validate numbers", function () {
|
|
45
|
+
var validateNumber = (0, _core.core)("number");
|
|
46
|
+
expect(validateNumber(123).validate).toBe(true);
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
expect(validateNumber("123").validate).toBe(false);
|
|
49
|
+
});
|
|
50
|
+
it("should validate booleans", function () {
|
|
51
|
+
var validateBoolean = (0, _core.core)("boolean");
|
|
52
|
+
expect(validateBoolean(true).validate).toBe(true);
|
|
53
|
+
expect(validateBoolean(false).validate).toBe(true);
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
expect(validateBoolean("true").validate).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it("should validate with multiple validation rules", function () {
|
|
58
|
+
var validateString = (0, _core.core)("string");
|
|
59
|
+
var minLength = {
|
|
60
|
+
type: "string",
|
|
61
|
+
validate: function validate(value) {
|
|
62
|
+
return value.length >= 3;
|
|
63
|
+
},
|
|
64
|
+
message: "String too short"
|
|
65
|
+
};
|
|
66
|
+
var maxLength = {
|
|
67
|
+
type: "string",
|
|
68
|
+
validate: function validate(value) {
|
|
69
|
+
return value.length <= 10;
|
|
70
|
+
},
|
|
71
|
+
message: "String too long"
|
|
72
|
+
};
|
|
73
|
+
expect(validateString("test", [minLength, maxLength]).validate).toBe(true);
|
|
74
|
+
expect(validateString("ab", [minLength, maxLength]).validate).toBe(false);
|
|
75
|
+
expect(validateString("ab", [minLength, maxLength]).message).toBe("String too short");
|
|
76
|
+
expect(validateString("very long string", [minLength, maxLength]).validate).toBe(false);
|
|
77
|
+
expect(validateString("very long string", [minLength, maxLength]).message).toBe("String too long");
|
|
78
|
+
});
|
|
79
|
+
it("should preserve type information in return value", function () {
|
|
80
|
+
var validateString = (0, _core.core)("string");
|
|
81
|
+
var validateNumber = (0, _core.core)("number");
|
|
82
|
+
var validateBoolean = (0, _core.core)("boolean");
|
|
83
|
+
expect(validateString("test").type).toBe("string");
|
|
84
|
+
expect(validateNumber(123).type).toBe("number");
|
|
85
|
+
expect(validateBoolean(true).type).toBe("boolean");
|
|
86
|
+
});
|
|
87
|
+
});
|
|
@@ -11,6 +11,17 @@ describe("isArray", function () {
|
|
|
11
11
|
}, {
|
|
12
12
|
b: 2
|
|
13
13
|
}])).toBe(true);
|
|
14
|
+
expect((0, _isArray.isArray)([])).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it("should work as a type guard", function () {
|
|
17
|
+
var value = [1, 2, 3];
|
|
18
|
+
if ((0, _isArray.isArray)(value)) {
|
|
19
|
+
// TypeScript should recognize value as number[] here
|
|
20
|
+
var sum = value.reduce(function (a, b) {
|
|
21
|
+
return a + b;
|
|
22
|
+
}, 0);
|
|
23
|
+
expect(sum).toBe(6);
|
|
24
|
+
}
|
|
14
25
|
});
|
|
15
26
|
it("should return false for a non-array value", function () {
|
|
16
27
|
expect((0, _isArray.isArray)(1)).toBe(false);
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isDictionaryObject = require("@/Validate/isDictionaryObject");
|
|
4
|
-
describe("
|
|
4
|
+
describe("isDictionaryObject", function () {
|
|
5
|
+
it("should return true for an empty object", function () {
|
|
6
|
+
expect((0, _isDictionaryObject.isDictionaryObject)({})).toBe(true);
|
|
7
|
+
});
|
|
5
8
|
it("should return true for an object with string properties", function () {
|
|
6
9
|
expect((0, _isDictionaryObject.isDictionaryObject)({
|
|
7
10
|
foo: "bar",
|
|
8
11
|
baz: "qux"
|
|
9
12
|
})).toBe(true);
|
|
10
13
|
});
|
|
14
|
+
it("should work as a type guard", function () {
|
|
15
|
+
var value = {
|
|
16
|
+
x: 1,
|
|
17
|
+
y: 2
|
|
18
|
+
};
|
|
19
|
+
if ((0, _isDictionaryObject.isDictionaryObject)(value)) {
|
|
20
|
+
// TypeScript should recognize value as { x: number; y: number }
|
|
21
|
+
var sum = value.x + value.y;
|
|
22
|
+
expect(sum).toBe(3);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
11
25
|
it("should return true for an object with number properties", function () {
|
|
12
26
|
expect((0, _isDictionaryObject.isDictionaryObject)({
|
|
13
27
|
foo: 1,
|
|
@@ -1,20 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isDouble = require("@/Validate/isDouble");
|
|
4
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
5
|
describe("isDouble", function () {
|
|
5
6
|
it("should return true for valid doubles", function () {
|
|
6
7
|
expect((0, _isDouble.isDouble)(1.5)).toBe(true);
|
|
8
|
+
expect((0, _isDouble.isDouble)(-1.5)).toBe(true);
|
|
9
|
+
expect((0, _isDouble.isDouble)(1.23e-4)).toBe(true);
|
|
7
10
|
expect((0, _isDouble.isDouble)("1.5")).toBe(true);
|
|
8
11
|
expect((0, _isDouble.isDouble)("1.5", false)).toBe(false);
|
|
9
12
|
});
|
|
13
|
+
it("should work as a type guard", function () {
|
|
14
|
+
var value = 1.5;
|
|
15
|
+
if ((0, _isDouble.isDouble)(value)) {
|
|
16
|
+
// TypeScript should recognize value as number | string
|
|
17
|
+
expect(typeof value === "number" || typeof value === "string").toBe(true);
|
|
18
|
+
expect(Number(value)).toBe(1.5);
|
|
19
|
+
}
|
|
20
|
+
var strictValue = 1.5;
|
|
21
|
+
if ((0, _isDouble.isDouble)(strictValue, false)) {
|
|
22
|
+
// TypeScript should recognize strictValue as number
|
|
23
|
+
expect(_typeof(strictValue)).toBe("number");
|
|
24
|
+
expect(strictValue).toBe(1.5);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
10
27
|
it("should return false for invalid doubles", function () {
|
|
11
28
|
expect((0, _isDouble.isDouble)(1)).toBe(false);
|
|
12
29
|
expect((0, _isDouble.isDouble)(1, false)).toBe(false);
|
|
13
30
|
expect((0, _isDouble.isDouble)("1")).toBe(false);
|
|
14
31
|
expect((0, _isDouble.isDouble)("1", false)).toBe(false);
|
|
15
|
-
expect((0, _isDouble.isDouble)(NaN)).toBe(false);
|
|
16
|
-
expect((0, _isDouble.isDouble)(
|
|
17
|
-
expect((0, _isDouble.isDouble)(
|
|
32
|
+
expect((0, _isDouble.isDouble)(Number.NaN)).toBe(false);
|
|
33
|
+
expect((0, _isDouble.isDouble)(Number.POSITIVE_INFINITY)).toBe(false);
|
|
34
|
+
expect((0, _isDouble.isDouble)(Number.NEGATIVE_INFINITY)).toBe(false);
|
|
18
35
|
expect((0, _isDouble.isDouble)(null)).toBe(false);
|
|
19
36
|
expect((0, _isDouble.isDouble)(undefined)).toBe(false);
|
|
20
37
|
expect((0, _isDouble.isDouble)(true)).toBe(false);
|
|
@@ -22,7 +39,7 @@ describe("isDouble", function () {
|
|
|
22
39
|
expect((0, _isDouble.isDouble)({})).toBe(false);
|
|
23
40
|
expect((0, _isDouble.isDouble)([])).toBe(false);
|
|
24
41
|
expect((0, _isDouble.isDouble)(0x12)).toBe(false);
|
|
25
|
-
expect((0, _isDouble.isDouble)(
|
|
42
|
+
expect((0, _isDouble.isDouble)(Number.NEGATIVE_INFINITY, false)).toBe(false);
|
|
26
43
|
expect((0, _isDouble.isDouble)(null, false)).toBe(false);
|
|
27
44
|
expect((0, _isDouble.isDouble)(true, false)).toBe(false);
|
|
28
45
|
expect((0, _isDouble.isDouble)(false, false)).toBe(false);
|
|
@@ -32,11 +32,11 @@ describe("isNotEmpty", function () {
|
|
|
32
32
|
it("should return false for an empty array", function () {
|
|
33
33
|
expect((0, _isNotEmpty.isNotEmpty)([])).toBe(false);
|
|
34
34
|
});
|
|
35
|
-
|
|
35
|
+
|
|
36
|
+
// Note: Map and Set are always considered empty by Object.keys()
|
|
37
|
+
it("should return false for Map and Set (regardless of content)", function () {
|
|
36
38
|
expect((0, _isNotEmpty.isNotEmpty)(new Map([["a", 1], ["b", 2]]))).toBe(false);
|
|
37
39
|
expect((0, _isNotEmpty.isNotEmpty)(new Set([1, 2, 3]))).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
it("should return false for an empty Map or Set", function () {
|
|
40
40
|
expect((0, _isNotEmpty.isNotEmpty)(new Map())).toBe(false);
|
|
41
41
|
expect((0, _isNotEmpty.isNotEmpty)(new Set())).toBe(false);
|
|
42
42
|
});
|
|
@@ -1,39 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isNumber = require("@/Validate/isNumber");
|
|
4
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
5
|
describe("isNumber", function () {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
describe("integers and decimals", function () {
|
|
7
|
+
test("should return true for integer numbers", function () {
|
|
8
|
+
expect((0, _isNumber.isNumber)(5)).toBe(true);
|
|
9
|
+
expect((0, _isNumber.isNumber)(-5)).toBe(true);
|
|
10
|
+
expect((0, _isNumber.isNumber)(0)).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
test("should return true for decimal numbers", function () {
|
|
13
|
+
expect((0, _isNumber.isNumber)(5.5)).toBe(true);
|
|
14
|
+
expect((0, _isNumber.isNumber)(-5.5)).toBe(true);
|
|
15
|
+
expect((0, _isNumber.isNumber)(0.0)).toBe(true);
|
|
16
|
+
});
|
|
8
17
|
});
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
describe("string representations (loose mode)", function () {
|
|
19
|
+
test("should return true for valid number strings when loose is true", function () {
|
|
20
|
+
expect((0, _isNumber.isNumber)("5", true)).toBe(true);
|
|
21
|
+
expect((0, _isNumber.isNumber)("-5.5", true)).toBe(true);
|
|
22
|
+
expect((0, _isNumber.isNumber)("0", true)).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
test("should return false for invalid number strings", function () {
|
|
25
|
+
expect((0, _isNumber.isNumber)("abc", true)).toBe(false);
|
|
26
|
+
expect((0, _isNumber.isNumber)("5abc", true)).toBe(false);
|
|
27
|
+
});
|
|
28
|
+
test("should return false for number strings when loose is false", function () {
|
|
29
|
+
expect((0, _isNumber.isNumber)("5", false)).toBe(false);
|
|
30
|
+
expect((0, _isNumber.isNumber)("-5.5", false)).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
test("should handle empty string", function () {
|
|
33
|
+
expect((0, _isNumber.isNumber)("")).toBe(true); // Due to isFinite("") returning true
|
|
34
|
+
});
|
|
23
35
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
describe("special number values", function () {
|
|
37
|
+
test("should return false for NaN", function () {
|
|
38
|
+
expect((0, _isNumber.isNumber)(Number.NaN)).toBe(false);
|
|
39
|
+
});
|
|
40
|
+
test("should return false for Infinity", function () {
|
|
41
|
+
expect((0, _isNumber.isNumber)(Number.POSITIVE_INFINITY)).toBe(false);
|
|
42
|
+
expect((0, _isNumber.isNumber)(Number.NEGATIVE_INFINITY)).toBe(false);
|
|
43
|
+
});
|
|
28
44
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
describe("non-number types", function () {
|
|
46
|
+
test("should return false for null and undefined", function () {
|
|
47
|
+
expect((0, _isNumber.isNumber)(null)).toBe(false);
|
|
48
|
+
expect((0, _isNumber.isNumber)(undefined)).toBe(false);
|
|
49
|
+
});
|
|
50
|
+
test("should return false for booleans", function () {
|
|
51
|
+
expect((0, _isNumber.isNumber)(true)).toBe(false);
|
|
52
|
+
expect((0, _isNumber.isNumber)(false)).toBe(false);
|
|
53
|
+
});
|
|
54
|
+
test("should return false for objects and arrays", function () {
|
|
55
|
+
expect((0, _isNumber.isNumber)({})).toBe(false);
|
|
56
|
+
expect((0, _isNumber.isNumber)([])).toBe(false);
|
|
57
|
+
});
|
|
33
58
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
59
|
+
describe("type guard functionality", function () {
|
|
60
|
+
test("should work as a type guard in loose mode", function () {
|
|
61
|
+
var value = "123";
|
|
62
|
+
if ((0, _isNumber.isNumber)(value)) {
|
|
63
|
+
// TypeScript should recognize value as number | string
|
|
64
|
+
expect(typeof value === "string" || typeof value === "number").toBe(true);
|
|
65
|
+
expect(Number(value)).toBe(123);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
test("should work as a type guard in strict mode", function () {
|
|
69
|
+
var value = 123;
|
|
70
|
+
if ((0, _isNumber.isNumber)(value, false)) {
|
|
71
|
+
// TypeScript should recognize value as number
|
|
72
|
+
expect(_typeof(value)).toBe("number");
|
|
73
|
+
expect(value).toBe(123);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
38
76
|
});
|
|
39
77
|
});
|
|
@@ -19,4 +19,9 @@ describe("isPerfectSquare", function () {
|
|
|
19
19
|
expect((0, _isPerfectSquare.isPerfectSquare)(100000000)).toBe(true);
|
|
20
20
|
expect((0, _isPerfectSquare.isPerfectSquare)(100000002)).toBe(false);
|
|
21
21
|
});
|
|
22
|
+
it("should handle non-integer numbers", function () {
|
|
23
|
+
expect((0, _isPerfectSquare.isPerfectSquare)(4.0)).toBe(true); // 4.0 is treated as integer 4
|
|
24
|
+
expect((0, _isPerfectSquare.isPerfectSquare)(4.5)).toBe(false);
|
|
25
|
+
expect((0, _isPerfectSquare.isPerfectSquare)(2.25)).toBe(false);
|
|
26
|
+
});
|
|
22
27
|
});
|