umt 2.12.3 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/module/Array/arraysJoin.js +1 -1
- package/module/Array/arraysJoin.js.map +1 -1
- package/module/Array/chunk.js +1 -2
- package/module/Array/chunk.js.map +1 -1
- package/module/Array/generateNumberArray.js +13 -3
- package/module/Array/generateNumberArray.js.map +1 -1
- package/module/Array/getArraysDiff.js +5 -1
- package/module/Array/getArraysDiff.js.map +1 -1
- package/module/Array/mergeSort.js +45 -18
- package/module/Array/mergeSort.js.map +1 -1
- package/module/Array/pop.js +2 -1
- package/module/Array/pop.js.map +1 -1
- package/module/Array/randomSelect.js +8 -0
- package/module/Array/randomSelect.js.map +1 -1
- package/module/Array/sortingHelpers/rangeValidator.js +3 -2
- package/module/Array/sortingHelpers/rangeValidator.js.map +1 -1
- package/module/Array/timSort.js +25 -23
- package/module/Array/timSort.js.map +1 -1
- package/module/Array/ultraNumberSort.js +206 -133
- package/module/Array/ultraNumberSort.js.map +1 -1
- package/module/Async/defer.d.ts +18 -0
- package/module/Async/defer.js +19 -0
- package/module/Async/defer.js.map +1 -0
- package/module/Async/index.d.ts +4 -0
- package/module/Async/index.js +5 -0
- package/module/Async/index.js.map +1 -0
- package/module/Async/parallel.d.ts +10 -0
- package/module/Async/parallel.js +44 -0
- package/module/Async/parallel.js.map +1 -0
- package/module/Async/sleep.d.ts +8 -0
- package/module/Async/sleep.js +11 -0
- package/module/Async/sleep.js.map +1 -0
- package/module/Async/timeout.d.ts +10 -0
- package/module/Async/timeout.js +22 -0
- package/module/Async/timeout.js.map +1 -0
- package/module/Color/cmykToRgba.js +6 -7
- package/module/Color/cmykToRgba.js.map +1 -1
- package/module/Color/hexaToRgba.js +1 -8
- package/module/Color/hexaToRgba.js.map +1 -1
- package/module/Color/hslaToRgba.d.ts +0 -1
- package/module/Color/hslaToRgba.js +7 -22
- package/module/Color/hslaToRgba.js.map +1 -1
- package/module/Color/rgbaToCmyk.js +0 -11
- package/module/Color/rgbaToCmyk.js.map +1 -1
- package/module/Color/rgbaToHexA.js +2 -15
- package/module/Color/rgbaToHexA.js.map +1 -1
- package/module/Color/rgbaToHsla.d.ts +0 -1
- package/module/Color/rgbaToHsla.js +0 -12
- package/module/Color/rgbaToHsla.js.map +1 -1
- package/module/Crypto/constants.d.ts +2 -0
- package/module/Crypto/constants.js +3 -0
- package/module/Crypto/constants.js.map +1 -0
- package/module/Crypto/decodeBase32.js +2 -4
- package/module/Crypto/decodeBase32.js.map +1 -1
- package/module/Crypto/decodeBase58.js +2 -4
- package/module/Crypto/decodeBase58.js.map +1 -1
- package/module/Crypto/encodeBase32.js +2 -1
- package/module/Crypto/encodeBase32.js.map +1 -1
- package/module/Crypto/encodeBase58.js +2 -1
- package/module/Crypto/encodeBase58.js.map +1 -1
- package/module/DataStructure/index.d.ts +2 -0
- package/module/DataStructure/index.js +2 -0
- package/module/DataStructure/index.js.map +1 -1
- package/module/DataStructure/lruCache.d.ts +139 -0
- package/module/DataStructure/lruCache.js +172 -0
- package/module/DataStructure/lruCache.js.map +1 -0
- package/module/DataStructure/ttlCache.d.ts +139 -0
- package/module/DataStructure/ttlCache.js +172 -0
- package/module/DataStructure/ttlCache.js.map +1 -0
- package/module/Error/flatMapResult.d.ts +23 -0
- package/module/Error/flatMapResult.js +28 -0
- package/module/Error/flatMapResult.js.map +1 -0
- package/module/Error/index.d.ts +3 -0
- package/module/Error/index.js +3 -0
- package/module/Error/index.js.map +1 -1
- package/module/Error/mapResult.d.ts +21 -0
- package/module/Error/mapResult.js +27 -0
- package/module/Error/mapResult.js.map +1 -0
- package/module/Error/matchResult.d.ts +25 -0
- package/module/Error/matchResult.js +27 -0
- package/module/Error/matchResult.js.map +1 -0
- package/module/Error/safeExecute.d.ts +16 -3
- package/module/Error/safeExecute.js +5 -2
- package/module/Error/safeExecute.js.map +1 -1
- package/module/Function/debounce.d.ts +38 -0
- package/module/Function/debounce.js +67 -0
- package/module/Function/debounce.js.map +1 -0
- package/module/Function/index.d.ts +4 -0
- package/module/Function/index.js +4 -0
- package/module/Function/index.js.map +1 -1
- package/module/Function/memoize.d.ts +36 -0
- package/module/Function/memoize.js +54 -0
- package/module/Function/memoize.js.map +1 -0
- package/module/Function/once.d.ts +18 -0
- package/module/Function/once.js +29 -0
- package/module/Function/once.js.map +1 -0
- package/module/Function/throttle.d.ts +25 -0
- package/module/Function/throttle.js +55 -0
- package/module/Function/throttle.js.map +1 -0
- package/module/IP/cidrToLong.d.ts +0 -1
- package/module/IP/cidrToLong.js +0 -4
- package/module/IP/cidrToLong.js.map +1 -1
- package/module/IP/cidrToSubnetMask.d.ts +0 -1
- package/module/IP/cidrToSubnetMask.js +0 -1
- package/module/IP/cidrToSubnetMask.js.map +1 -1
- package/module/IP/getNetworkAddress.d.ts +0 -1
- package/module/IP/getNetworkAddress.js +2 -32
- package/module/IP/getNetworkAddress.js.map +1 -1
- package/module/IP/ipToBinaryString.d.ts +0 -1
- package/module/IP/ipToBinaryString.js +2 -25
- package/module/IP/ipToBinaryString.js.map +1 -1
- package/module/IP/ipToLong.d.ts +0 -1
- package/module/IP/ipToLong.js +0 -1
- package/module/IP/ipToLong.js.map +1 -1
- package/module/IP/isInRange.d.ts +0 -1
- package/module/IP/isInRange.js +5 -28
- package/module/IP/isInRange.js.map +1 -1
- package/module/IP/isPrivateIp.d.ts +0 -1
- package/module/IP/isPrivateIp.js +1 -10
- package/module/IP/isPrivateIp.js.map +1 -1
- package/module/IP/longToIp.d.ts +0 -1
- package/module/IP/longToIp.js +0 -8
- package/module/IP/longToIp.js.map +1 -1
- package/module/IP/subnetMaskToCidr.d.ts +0 -1
- package/module/IP/subnetMaskToCidr.js +2 -23
- package/module/IP/subnetMaskToCidr.js.map +1 -1
- package/module/Iterator/index.d.ts +3 -0
- package/module/Iterator/index.js +4 -0
- package/module/Iterator/index.js.map +1 -0
- package/module/Iterator/lazyFilter.d.ts +10 -0
- package/module/Iterator/lazyFilter.js +19 -0
- package/module/Iterator/lazyFilter.js.map +1 -0
- package/module/Iterator/lazyMap.d.ts +10 -0
- package/module/Iterator/lazyMap.js +17 -0
- package/module/Iterator/lazyMap.js.map +1 -0
- package/module/Iterator/lazyTake.d.ts +10 -0
- package/module/Iterator/lazyTake.js +20 -0
- package/module/Iterator/lazyTake.js.map +1 -0
- package/module/Math/addition.js +20 -4
- package/module/Math/addition.js.map +1 -1
- package/module/Math/average.js +3 -3
- package/module/Math/average.js.map +1 -1
- package/module/Math/bitwise.js +1 -1
- package/module/Math/bitwise.js.map +1 -1
- package/module/Math/calculator/core.js +2 -1
- package/module/Math/calculator/core.js.map +1 -1
- package/module/Math/calculator/literalExpression.js +1 -1
- package/module/Math/clamp.d.ts +16 -0
- package/module/Math/clamp.js +19 -0
- package/module/Math/clamp.js.map +1 -0
- package/module/Math/correlationCoefficient.js +0 -3
- package/module/Math/correlationCoefficient.js.map +1 -1
- package/module/Math/inRange.d.ts +19 -0
- package/module/Math/inRange.js +24 -0
- package/module/Math/inRange.js.map +1 -0
- package/module/Math/index.d.ts +3 -0
- package/module/Math/index.js +3 -0
- package/module/Math/index.js.map +1 -1
- package/module/Math/median.js +2 -2
- package/module/Math/median.js.map +1 -1
- package/module/Math/nCr.js +2 -4
- package/module/Math/nCr.js.map +1 -1
- package/module/Math/percentile.js +2 -5
- package/module/Math/percentile.js.map +1 -1
- package/module/Math/primeFactorization.js +1 -1
- package/module/Math/primeFactorization.js.map +1 -1
- package/module/Math/sumPrecise.d.ts +14 -0
- package/module/Math/sumPrecise.js +27 -0
- package/module/Math/sumPrecise.js.map +1 -0
- package/module/Math/uuidv7.js +56 -22
- package/module/Math/uuidv7.js.map +1 -1
- package/module/Number/formatNumber.d.ts +42 -0
- package/module/Number/formatNumber.js +44 -0
- package/module/Number/formatNumber.js.map +1 -0
- package/module/Number/index.d.ts +3 -0
- package/module/Number/index.js +4 -0
- package/module/Number/index.js.map +1 -0
- package/module/Number/toOrdinal.d.ts +20 -0
- package/module/Number/toOrdinal.js +37 -0
- package/module/Number/toOrdinal.js.map +1 -0
- package/module/Number/toPercentage.d.ts +20 -0
- package/module/Number/toPercentage.js +27 -0
- package/module/Number/toPercentage.js.map +1 -0
- package/module/Object/deepClone.d.ts +15 -0
- package/module/Object/deepClone.js +62 -0
- package/module/Object/deepClone.js.map +1 -0
- package/module/Object/getObjectsCommon.d.ts +23 -0
- package/module/Object/getObjectsCommon.js +60 -0
- package/module/Object/getObjectsCommon.js.map +1 -0
- package/module/Object/getObjectsDiff.d.ts +25 -0
- package/module/Object/getObjectsDiff.js +79 -0
- package/module/Object/getObjectsDiff.js.map +1 -0
- package/module/Object/index.d.ts +6 -0
- package/module/Object/index.js +6 -0
- package/module/Object/index.js.map +1 -1
- package/module/Object/isPlainObject.d.ts +16 -0
- package/module/Object/isPlainObject.js +32 -0
- package/module/Object/isPlainObject.js.map +1 -0
- package/module/Object/mapKeys.d.ts +15 -0
- package/module/Object/mapKeys.js +28 -0
- package/module/Object/mapKeys.js.map +1 -0
- package/module/Object/mapValues.d.ts +15 -0
- package/module/Object/mapValues.js +27 -0
- package/module/Object/mapValues.js.map +1 -0
- package/module/Object/mergeDeep.js +4 -9
- package/module/Object/mergeDeep.js.map +1 -1
- package/module/Object/omit.d.ts +1 -1
- package/module/Object/omit.js.map +1 -1
- package/module/Object/pickDeep.js +6 -1
- package/module/Object/pickDeep.js.map +1 -1
- package/module/Predicate/every.d.ts +14 -0
- package/module/Predicate/every.js +22 -0
- package/module/Predicate/every.js.map +1 -0
- package/module/Predicate/index.d.ts +6 -0
- package/module/Predicate/index.js +7 -0
- package/module/Predicate/index.js.map +1 -0
- package/module/Predicate/isNotNullish.d.ts +11 -0
- package/module/Predicate/isNotNullish.js +12 -0
- package/module/Predicate/isNotNullish.js.map +1 -0
- package/module/Predicate/isNullish.d.ts +11 -0
- package/module/Predicate/isNullish.js +12 -0
- package/module/Predicate/isNullish.js.map +1 -0
- package/module/Predicate/matches.d.ts +11 -0
- package/module/Predicate/matches.js +20 -0
- package/module/Predicate/matches.js.map +1 -0
- package/module/Predicate/not.d.ts +10 -0
- package/module/Predicate/not.js +11 -0
- package/module/Predicate/not.js.map +1 -0
- package/module/Predicate/some.d.ts +15 -0
- package/module/Predicate/some.js +23 -0
- package/module/Predicate/some.js.map +1 -0
- package/module/String/camelCase.js +2 -2
- package/module/String/camelCase.js.map +1 -1
- package/module/String/escapeHtml.js +1 -1
- package/module/String/formatString/getValue.js +1 -1
- package/module/String/formatString/getValue.js.map +1 -1
- package/module/String/fromBase64.d.ts +0 -1
- package/module/String/fromBase64.js +1 -9
- package/module/String/fromBase64.js.map +1 -1
- package/module/String/fuzzySearch.js +74 -6
- package/module/String/fuzzySearch.js.map +1 -1
- package/module/String/kebabCase.js +1 -1
- package/module/String/kebabCase.js.map +1 -1
- package/module/String/levenshteinDistance.js +1 -2
- package/module/String/levenshteinDistance.js.map +1 -1
- package/module/String/randomString.js +23 -2
- package/module/String/randomString.js.map +1 -1
- package/module/String/reverseString.js +1 -1
- package/module/String/reverseString.js.map +1 -1
- package/module/String/slugify.js +1 -1
- package/module/String/toHalfWidth.js +2 -2
- package/module/String/toHalfWidth.js.map +1 -1
- package/module/String/truncate.js +0 -3
- package/module/String/truncate.js.map +1 -1
- package/module/String/unescapeHtml.js +1 -1
- package/module/String/unescapeHtml.js.map +1 -1
- package/module/Time/convertTime.js +4 -3
- package/module/Time/convertTime.js.map +1 -1
- package/module/Tool/escapeRegExp.d.ts +8 -0
- package/module/Tool/escapeRegExp.js +11 -0
- package/module/Tool/escapeRegExp.js.map +1 -0
- package/module/Tool/index.d.ts +1 -0
- package/module/Tool/index.js +1 -0
- package/module/Tool/index.js.map +1 -1
- package/module/URL/buildUrl.d.ts +17 -0
- package/module/URL/buildUrl.js +24 -0
- package/module/URL/buildUrl.js.map +1 -0
- package/module/URL/index.d.ts +4 -0
- package/module/URL/index.js +5 -0
- package/module/URL/index.js.map +1 -0
- package/module/URL/isAbsoluteUrl.d.ts +20 -0
- package/module/URL/isAbsoluteUrl.js +23 -0
- package/module/URL/isAbsoluteUrl.js.map +1 -0
- package/module/URL/joinPath.d.ts +24 -0
- package/module/URL/joinPath.js +43 -0
- package/module/URL/joinPath.js.map +1 -0
- package/module/URL/parseQueryString.d.ts +22 -0
- package/module/URL/parseQueryString.js +34 -0
- package/module/URL/parseQueryString.js.map +1 -0
- package/module/Validate/parseEmail.js +5 -5
- package/module/Validate/parseEmail.js.map +1 -1
- package/module/es5/Array/arraysJoin.js +1 -1
- package/module/es5/Array/chunk.js +3 -2
- package/module/es5/Array/generateNumberArray.js +21 -3
- package/module/es5/Array/getArraysDiff.js +5 -3
- package/module/es5/Array/mergeSort.js +51 -19
- package/module/es5/Array/pop.js +2 -7
- package/module/es5/Array/randomSelect.js +8 -0
- package/module/es5/Array/sortingHelpers/rangeValidator.js +3 -2
- package/module/es5/Array/timSort.js +25 -23
- package/module/es5/Array/ultraNumberSort.js +221 -207
- package/module/es5/Async/defer.d.ts +18 -0
- package/module/es5/Async/defer.js +32 -0
- package/module/es5/Async/index.d.ts +4 -0
- package/module/es5/Async/index.js +49 -0
- package/module/es5/Async/parallel.d.ts +10 -0
- package/module/es5/Async/parallel.js +48 -0
- package/module/es5/Async/sleep.d.ts +8 -0
- package/module/es5/Async/sleep.js +18 -0
- package/module/es5/Async/timeout.d.ts +10 -0
- package/module/es5/Async/timeout.js +29 -0
- package/module/es5/Color/cmykToRgba.js +6 -7
- package/module/es5/Color/hexaToRgba.js +7 -5
- package/module/es5/Color/hslaToRgba.d.ts +0 -1
- package/module/es5/Color/hslaToRgba.js +7 -22
- package/module/es5/Color/rgbaToCmyk.js +0 -4
- package/module/es5/Color/rgbaToHexA.js +2 -6
- package/module/es5/Color/rgbaToHsla.d.ts +0 -1
- package/module/es5/Color/rgbaToHsla.js +0 -5
- package/module/es5/Crypto/constants.d.ts +2 -0
- package/module/es5/Crypto/constants.js +8 -0
- package/module/es5/Crypto/decodeBase32.js +2 -4
- package/module/es5/Crypto/decodeBase58.js +2 -4
- package/module/es5/Crypto/encodeBase32.js +2 -1
- package/module/es5/Crypto/encodeBase58.js +2 -1
- package/module/es5/DataStructure/index.d.ts +2 -0
- package/module/es5/DataStructure/index.js +22 -0
- package/module/es5/DataStructure/lruCache.d.ts +139 -0
- package/module/es5/DataStructure/lruCache.js +205 -0
- package/module/es5/DataStructure/ttlCache.d.ts +139 -0
- package/module/es5/DataStructure/ttlCache.js +211 -0
- package/module/es5/Error/flatMapResult.d.ts +23 -0
- package/module/es5/Error/flatMapResult.js +33 -0
- package/module/es5/Error/index.d.ts +3 -0
- package/module/es5/Error/index.js +33 -0
- package/module/es5/Error/mapResult.d.ts +21 -0
- package/module/es5/Error/mapResult.js +32 -0
- package/module/es5/Error/matchResult.d.ts +25 -0
- package/module/es5/Error/matchResult.js +32 -0
- package/module/es5/Error/safeExecute.d.ts +16 -3
- package/module/es5/Error/safeExecute.js +3 -3
- package/module/es5/Function/debounce.d.ts +38 -0
- package/module/es5/Function/debounce.js +88 -0
- package/module/es5/Function/index.d.ts +4 -0
- package/module/es5/Function/index.js +44 -0
- package/module/es5/Function/memoize.d.ts +36 -0
- package/module/es5/Function/memoize.js +73 -0
- package/module/es5/Function/once.d.ts +18 -0
- package/module/es5/Function/once.js +37 -0
- package/module/es5/Function/throttle.d.ts +25 -0
- package/module/es5/Function/throttle.js +69 -0
- package/module/es5/IP/cidrToLong.d.ts +0 -1
- package/module/es5/IP/cidrToLong.js +0 -4
- package/module/es5/IP/cidrToSubnetMask.d.ts +0 -1
- package/module/es5/IP/cidrToSubnetMask.js +0 -1
- package/module/es5/IP/getNetworkAddress.d.ts +0 -1
- package/module/es5/IP/getNetworkAddress.js +2 -31
- package/module/es5/IP/ipToBinaryString.d.ts +0 -1
- package/module/es5/IP/ipToBinaryString.js +1 -40
- package/module/es5/IP/ipToLong.d.ts +0 -1
- package/module/es5/IP/ipToLong.js +0 -1
- package/module/es5/IP/isInRange.d.ts +0 -1
- package/module/es5/IP/isInRange.js +5 -29
- package/module/es5/IP/isPrivateIp.d.ts +0 -1
- package/module/es5/IP/isPrivateIp.js +3 -12
- package/module/es5/IP/longToIp.d.ts +0 -1
- package/module/es5/IP/longToIp.js +0 -6
- package/module/es5/IP/subnetMaskToCidr.d.ts +0 -1
- package/module/es5/IP/subnetMaskToCidr.js +2 -26
- package/module/es5/Iterator/index.d.ts +3 -0
- package/module/es5/Iterator/index.js +38 -0
- package/module/es5/Iterator/lazyFilter.d.ts +10 -0
- package/module/es5/Iterator/lazyFilter.js +63 -0
- package/module/es5/Iterator/lazyMap.d.ts +10 -0
- package/module/es5/Iterator/lazyMap.js +59 -0
- package/module/es5/Iterator/lazyTake.d.ts +10 -0
- package/module/es5/Iterator/lazyTake.js +65 -0
- package/module/es5/Math/addition.js +24 -14
- package/module/es5/Math/average.js +3 -5
- package/module/es5/Math/bitwise.js +1 -1
- package/module/es5/Math/calculator/core.js +2 -1
- package/module/es5/Math/calculator/literalExpression.js +1 -1
- package/module/es5/Math/clamp.d.ts +16 -0
- package/module/es5/Math/clamp.js +24 -0
- package/module/es5/Math/correlationCoefficient.js +0 -3
- package/module/es5/Math/inRange.d.ts +19 -0
- package/module/es5/Math/inRange.js +29 -0
- package/module/es5/Math/index.d.ts +3 -0
- package/module/es5/Math/index.js +33 -0
- package/module/es5/Math/median.js +2 -2
- package/module/es5/Math/nCr.js +2 -4
- package/module/es5/Math/percentile.js +2 -11
- package/module/es5/Math/primeFactorization.js +1 -1
- package/module/es5/Math/sumPrecise.d.ts +14 -0
- package/module/es5/Math/sumPrecise.js +41 -0
- package/module/es5/Math/uuidv7.js +25 -40
- package/module/es5/Number/formatNumber.d.ts +42 -0
- package/module/es5/Number/formatNumber.js +58 -0
- package/module/es5/Number/index.d.ts +3 -0
- package/module/es5/Number/index.js +38 -0
- package/module/es5/Number/toOrdinal.d.ts +20 -0
- package/module/es5/Number/toOrdinal.js +42 -0
- package/module/es5/Number/toPercentage.d.ts +20 -0
- package/module/es5/Number/toPercentage.js +33 -0
- package/module/es5/Object/deepClone.d.ts +15 -0
- package/module/es5/Object/deepClone.js +107 -0
- package/module/es5/Object/getObjectsCommon.d.ts +23 -0
- package/module/es5/Object/getObjectsCommon.js +92 -0
- package/module/es5/Object/getObjectsDiff.d.ts +25 -0
- package/module/es5/Object/getObjectsDiff.js +146 -0
- package/module/es5/Object/index.d.ts +6 -0
- package/module/es5/Object/index.js +66 -0
- package/module/es5/Object/isPlainObject.d.ts +16 -0
- package/module/es5/Object/isPlainObject.js +39 -0
- package/module/es5/Object/mapKeys.d.ts +15 -0
- package/module/es5/Object/mapKeys.js +33 -0
- package/module/es5/Object/mapValues.d.ts +15 -0
- package/module/es5/Object/mapValues.js +32 -0
- package/module/es5/Object/mergeDeep.js +7 -10
- package/module/es5/Object/omit.d.ts +1 -1
- package/module/es5/Object/pickDeep.js +4 -6
- package/module/es5/Predicate/every.d.ts +14 -0
- package/module/es5/Predicate/every.js +33 -0
- package/module/es5/Predicate/index.d.ts +6 -0
- package/module/es5/Predicate/index.js +71 -0
- package/module/es5/Predicate/isNotNullish.d.ts +11 -0
- package/module/es5/Predicate/isNotNullish.js +19 -0
- package/module/es5/Predicate/isNullish.d.ts +11 -0
- package/module/es5/Predicate/isNullish.js +19 -0
- package/module/es5/Predicate/matches.d.ts +11 -0
- package/module/es5/Predicate/matches.js +28 -0
- package/module/es5/Predicate/not.d.ts +10 -0
- package/module/es5/Predicate/not.js +20 -0
- package/module/es5/Predicate/some.d.ts +15 -0
- package/module/es5/Predicate/some.js +34 -0
- package/module/es5/String/camelCase.js +2 -2
- package/module/es5/String/escapeHtml.js +1 -1
- package/module/es5/String/formatString/getValue.js +1 -1
- package/module/es5/String/fromBase64.d.ts +0 -1
- package/module/es5/String/fromBase64.js +9 -8
- package/module/es5/String/fuzzySearch.js +84 -9
- package/module/es5/String/kebabCase.js +1 -1
- package/module/es5/String/levenshteinDistance.js +3 -2
- package/module/es5/String/randomString.js +24 -2
- package/module/es5/String/reverseString.js +7 -1
- package/module/es5/String/slugify.js +1 -1
- package/module/es5/String/toHalfWidth.js +2 -2
- package/module/es5/String/truncate.js +0 -3
- package/module/es5/String/unescapeHtml.js +1 -1
- package/module/es5/Time/convertTime.js +4 -3
- package/module/es5/Tool/escapeRegExp.d.ts +8 -0
- package/module/es5/Tool/escapeRegExp.js +18 -0
- package/module/es5/Tool/index.d.ts +1 -0
- package/module/es5/Tool/index.js +11 -0
- package/module/es5/URL/buildUrl.d.ts +17 -0
- package/module/es5/URL/buildUrl.js +31 -0
- package/module/es5/URL/index.d.ts +4 -0
- package/module/es5/URL/index.js +49 -0
- package/module/es5/URL/isAbsoluteUrl.d.ts +20 -0
- package/module/es5/URL/isAbsoluteUrl.js +28 -0
- package/module/es5/URL/joinPath.d.ts +24 -0
- package/module/es5/URL/joinPath.js +48 -0
- package/module/es5/URL/parseQueryString.d.ts +22 -0
- package/module/es5/URL/parseQueryString.js +57 -0
- package/module/es5/Validate/parseEmail.js +5 -5
- package/module/es5/index.d.ts +5 -0
- package/module/es5/index.js +73 -18
- package/module/es5/tsconfig.tsbuildinfo +1 -1
- package/module/index.d.ts +5 -0
- package/module/index.js +5 -0
- package/module/index.js.map +1 -1
- package/package.json +43 -17
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.fuzzySearch = void 0;
|
|
7
|
-
var _levenshteinDistance = require("./levenshteinDistance");
|
|
8
7
|
var _quickSort = require("../Array/quickSort");
|
|
9
8
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
10
9
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -25,19 +24,95 @@ var fuzzySearch = exports.fuzzySearch = function fuzzySearch(query, items) {
|
|
|
25
24
|
return [];
|
|
26
25
|
}
|
|
27
26
|
var results = [];
|
|
27
|
+
var lowerQuery = query.toLowerCase();
|
|
28
|
+
var queryLength = query.length;
|
|
29
|
+
|
|
30
|
+
// Reusable row array to avoid allocations
|
|
31
|
+
// We allocate enough space for typical use cases or grow it if needed.
|
|
32
|
+
// Using dynamic array instead of new Array() to satisfy linter
|
|
33
|
+
var rowBuffer = [];
|
|
28
34
|
var _iterator = _createForOfIteratorHelper(items),
|
|
29
35
|
_step;
|
|
30
36
|
try {
|
|
31
37
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
32
38
|
var item = _step.value;
|
|
33
|
-
var
|
|
34
|
-
var maxLength = Math.max(
|
|
35
|
-
var
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
var itemLength = item.length;
|
|
40
|
+
var maxLength = Math.max(itemLength, queryLength);
|
|
41
|
+
var maxAllowedDistance = Math.floor(maxLength * (1 - threshold));
|
|
42
|
+
if (Math.abs(queryLength - itemLength) > maxAllowedDistance) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
var lowerItem = item.toLowerCase();
|
|
46
|
+
|
|
47
|
+
// Inline Levenshtein with early exit
|
|
48
|
+
// We want to transform lowerQuery -> lowerItem (or vice versa)
|
|
49
|
+
// To minimize space, we use the shorter string for the columns (row array).
|
|
50
|
+
var string1 = lowerQuery;
|
|
51
|
+
var string2 = lowerItem;
|
|
52
|
+
var length1 = queryLength;
|
|
53
|
+
var length2 = itemLength;
|
|
54
|
+
if (length1 > length2) {
|
|
55
|
+
string1 = lowerItem;
|
|
56
|
+
string2 = lowerQuery;
|
|
57
|
+
length1 = itemLength;
|
|
58
|
+
length2 = queryLength;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Initialize first row: 0, 1, 2, ..., length1
|
|
62
|
+
for (var columnIndex = 0; columnIndex <= length1; columnIndex++) {
|
|
63
|
+
rowBuffer[columnIndex] = columnIndex;
|
|
64
|
+
}
|
|
65
|
+
var minDistanceInRow = 0;
|
|
66
|
+
|
|
67
|
+
// Iterate through each character of string2 (rows)
|
|
68
|
+
for (var rowIndex = 1; rowIndex <= length2; rowIndex++) {
|
|
69
|
+
var previousDiagonal = rowBuffer[0];
|
|
70
|
+
rowBuffer[0] = rowIndex;
|
|
71
|
+
|
|
72
|
+
// eslint-disable-next-line unicorn/prefer-code-point
|
|
73
|
+
var char2 = string2.charCodeAt(rowIndex - 1);
|
|
74
|
+
// Reset min distance for this row
|
|
75
|
+
minDistanceInRow = rowBuffer[0];
|
|
76
|
+
for (var _columnIndex = 1; _columnIndex <= length1; _columnIndex++) {
|
|
77
|
+
var temporary = rowBuffer[_columnIndex];
|
|
78
|
+
// eslint-disable-next-line unicorn/prefer-code-point
|
|
79
|
+
var cost = string1.charCodeAt(_columnIndex - 1) === char2 ? 0 : 1;
|
|
80
|
+
|
|
81
|
+
// min(deletion, insertion, substitution)
|
|
82
|
+
// deletion: row[j] (from previous row)
|
|
83
|
+
// insertion: row[j-1] (current row)
|
|
84
|
+
// substitution: previousDiagonal + cost
|
|
85
|
+
var deletion = rowBuffer[_columnIndex] + 1;
|
|
86
|
+
var insertion = rowBuffer[_columnIndex - 1] + 1;
|
|
87
|
+
var substitution = previousDiagonal + cost;
|
|
88
|
+
var value = deletion;
|
|
89
|
+
if (insertion < value) {
|
|
90
|
+
value = insertion;
|
|
91
|
+
}
|
|
92
|
+
if (substitution < value) {
|
|
93
|
+
value = substitution;
|
|
94
|
+
}
|
|
95
|
+
rowBuffer[_columnIndex] = value;
|
|
96
|
+
previousDiagonal = temporary;
|
|
97
|
+
if (value < minDistanceInRow) {
|
|
98
|
+
minDistanceInRow = value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Early exit if the minimum distance in this row exceeds the max allowed
|
|
103
|
+
if (minDistanceInRow > maxAllowedDistance) {
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (minDistanceInRow <= maxAllowedDistance) {
|
|
108
|
+
var trueDistance = rowBuffer[length1];
|
|
109
|
+
if (trueDistance <= maxAllowedDistance) {
|
|
110
|
+
var score = 1 - trueDistance / maxLength;
|
|
111
|
+
results.push({
|
|
112
|
+
item: item,
|
|
113
|
+
score: score
|
|
114
|
+
});
|
|
115
|
+
}
|
|
41
116
|
}
|
|
42
117
|
}
|
|
43
118
|
} catch (err) {
|
|
@@ -18,7 +18,7 @@ var kebabCase = exports.kebabCase = function kebabCase(string_) {
|
|
|
18
18
|
// Replace spaces and underscores with dashes
|
|
19
19
|
.replaceAll(/[\s_]+/g, "-")
|
|
20
20
|
// Remove special characters except alphanumeric and dashes
|
|
21
|
-
.replaceAll(/[
|
|
21
|
+
.replaceAll(/[^\dA-Za-z-]/g, "-")
|
|
22
22
|
// Remove multiple consecutive dashes
|
|
23
23
|
.replaceAll(/-+/g, "-")
|
|
24
24
|
// Remove leading and trailing dashes
|
|
@@ -31,8 +31,9 @@ var _levenshteinDistance = exports.levenshteinDistance = function levenshteinDis
|
|
|
31
31
|
|
|
32
32
|
// Create a single row array to store distances
|
|
33
33
|
// We only need the current row and the previous diagonal value
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
var row = Array.from({
|
|
35
|
+
length: length1 + 1
|
|
36
|
+
});
|
|
36
37
|
|
|
37
38
|
// Initialize first row (0 to length1)
|
|
38
39
|
for (var index = 0; index <= length1; index++) {
|
|
@@ -14,9 +14,31 @@ var randomString = exports.randomString = function randomString() {
|
|
|
14
14
|
var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8;
|
|
15
15
|
var _char = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
16
16
|
var length = _char.length;
|
|
17
|
+
if (length === 0) {
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
17
20
|
var id = "";
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
// 65536 bytes is the limit for getRandomValues in some environments
|
|
22
|
+
// Uint32Array has 4 bytes per element, so 65536 / 4 = 16384 elements.
|
|
23
|
+
var CHUNK_SIZE = 16384;
|
|
24
|
+
var bufferSize = Math.min(size, CHUNK_SIZE);
|
|
25
|
+
var buffer = new Uint32Array(bufferSize);
|
|
26
|
+
|
|
27
|
+
// Calculate the rejection limit to avoid modulo bias.
|
|
28
|
+
// We want to reject values that fall into the remainder range of the random number generator
|
|
29
|
+
// relative to the character set length.
|
|
30
|
+
// 2^32 = 4294967296
|
|
31
|
+
var MAX_UINT32_PLUS_ONE = 4294967296;
|
|
32
|
+
var limit = MAX_UINT32_PLUS_ONE - MAX_UINT32_PLUS_ONE % length;
|
|
33
|
+
while (id.length < size) {
|
|
34
|
+
globalThis.crypto.getRandomValues(buffer);
|
|
35
|
+
for (var index = 0; index < bufferSize && id.length < size; index++) {
|
|
36
|
+
var value = buffer[index];
|
|
37
|
+
// Rejection sampling: only use values less than the limit to ensure uniform distribution
|
|
38
|
+
if (value < limit) {
|
|
39
|
+
id += _char[value % length];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
20
42
|
}
|
|
21
43
|
return id;
|
|
22
44
|
};
|
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.reverseString = void 0;
|
|
7
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
8
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
11
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
12
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
13
|
/**
|
|
8
14
|
* Reverses a string
|
|
9
15
|
* @param {string} char - String to reverse
|
|
@@ -11,5 +17,5 @@ exports.reverseString = void 0;
|
|
|
11
17
|
* @example reverseString("Hello"); // "olleH"
|
|
12
18
|
*/
|
|
13
19
|
var reverseString = exports.reverseString = function reverseString(_char) {
|
|
14
|
-
return _char
|
|
20
|
+
return _toConsumableArray(_char).reverse().join("");
|
|
15
21
|
};
|
|
@@ -14,5 +14,5 @@ exports.slugify = void 0;
|
|
|
14
14
|
* slugify("Japanese: こんにちは"); // "japanese"
|
|
15
15
|
*/
|
|
16
16
|
var slugify = exports.slugify = function slugify(string_) {
|
|
17
|
-
return string_.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").toLowerCase().replaceAll(/[^\w
|
|
17
|
+
return string_.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").toLowerCase().replaceAll(/[^\s\w-]/g, "-").replaceAll(/\s+/g, "-").replaceAll(/_+/g, "-").replaceAll(/-+/g, "-").replaceAll(/^-+|-+$/g, "");
|
|
18
18
|
};
|
|
@@ -11,8 +11,8 @@ exports.toHalfWidth = void 0;
|
|
|
11
11
|
*/
|
|
12
12
|
var toHalfWidth = exports.toHalfWidth = function toHalfWidth(string_) {
|
|
13
13
|
return string_.replaceAll(/[0-9A-Za-z]/g, function (s) {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
var code = s.codePointAt(0);
|
|
15
|
+
// biome-ignore lint/style/noNonNullAssertion: code is not null
|
|
16
16
|
return String.fromCodePoint(code - 0xfee0);
|
|
17
17
|
});
|
|
18
18
|
};
|
|
@@ -17,9 +17,6 @@ exports.truncate = void 0;
|
|
|
17
17
|
*/
|
|
18
18
|
var truncate = exports.truncate = function truncate(string_, length) {
|
|
19
19
|
var suffix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "...";
|
|
20
|
-
if (length < 0) {
|
|
21
|
-
throw new Error("Length must be non-negative");
|
|
22
|
-
}
|
|
23
20
|
if (string_.length <= length) {
|
|
24
21
|
return string_;
|
|
25
22
|
}
|
|
@@ -36,7 +36,7 @@ var htmlUnescapeMap = {
|
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
38
|
var unescapeHtml = exports.unescapeHtml = function unescapeHtml(string_) {
|
|
39
|
-
var entityRegex = /&(?:amp|lt|gt|quot|#39|#x27|#x2F|#x60|#x3D);|&#(\d*);|&#x([
|
|
39
|
+
var entityRegex = /&(?:amp|lt|gt|quot|#39|#x27|#x2F|#x60|#x3D);|&#(\d*);|&#x([\dA-Fa-f]*);/g;
|
|
40
40
|
return string_.replaceAll(entityRegex, function (match, dec, hex) {
|
|
41
41
|
if (dec !== undefined) {
|
|
42
42
|
var codePoint = Number.parseInt(dec, 10);
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.convertTime = void 0;
|
|
7
|
+
var _clock = require("../Consts/clock");
|
|
7
8
|
var _Math = require("../Math");
|
|
8
9
|
var _normalizeTimeUnit = require("../Time/normalizeTimeUnit");
|
|
9
10
|
/**
|
|
@@ -11,9 +12,9 @@ var _normalizeTimeUnit = require("../Time/normalizeTimeUnit");
|
|
|
11
12
|
*/
|
|
12
13
|
var conversionRates = {
|
|
13
14
|
milliseconds: 1,
|
|
14
|
-
seconds:
|
|
15
|
-
minutes:
|
|
16
|
-
hours:
|
|
15
|
+
seconds: _clock.OneSecondMs,
|
|
16
|
+
minutes: _clock.OneMinuteMs,
|
|
17
|
+
hours: _clock.OneHourMs
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
/**
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes characters in a string for use in a regular expression.
|
|
3
|
+
* @param {string} string - The string to escape.
|
|
4
|
+
* @returns {string} The escaped string.
|
|
5
|
+
* @example
|
|
6
|
+
* escapeRegExp("a.b"); // "a\\.b"
|
|
7
|
+
*/
|
|
8
|
+
export declare const escapeRegExp: (string: string) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.escapeRegExp = void 0;
|
|
7
|
+
var _templateObject;
|
|
8
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
9
|
+
/**
|
|
10
|
+
* Escapes characters in a string for use in a regular expression.
|
|
11
|
+
* @param {string} string - The string to escape.
|
|
12
|
+
* @returns {string} The escaped string.
|
|
13
|
+
* @example
|
|
14
|
+
* escapeRegExp("a.b"); // "a\\.b"
|
|
15
|
+
*/
|
|
16
|
+
var escapeRegExp = exports.escapeRegExp = function escapeRegExp(string) {
|
|
17
|
+
return string.replaceAll(/[$()*+.?[\\\]^{|}]/g, String.raw(_templateObject || (_templateObject = _taggedTemplateLiteral(["$&"], ["\\$&"]))));
|
|
18
|
+
};
|
package/module/es5/Tool/index.js
CHANGED
|
@@ -14,6 +14,17 @@ Object.keys(_createPipeline).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
+
var _escapeRegExp = require("./escapeRegExp");
|
|
18
|
+
Object.keys(_escapeRegExp).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _escapeRegExp[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _escapeRegExp[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
17
28
|
var _parseJson = require("./parseJson");
|
|
18
29
|
Object.keys(_parseJson).forEach(function (key) {
|
|
19
30
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a URL with query parameters appended.
|
|
3
|
+
*
|
|
4
|
+
* @param base - The base URL string
|
|
5
|
+
* @param params - An object of key-value pairs to append as query parameters
|
|
6
|
+
* @returns The complete URL string with query parameters
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* buildUrl("https://example.com", { page: "1", q: "search" });
|
|
11
|
+
* // "https://example.com/?page=1&q=search"
|
|
12
|
+
*
|
|
13
|
+
* buildUrl("https://example.com/path", { foo: "bar" });
|
|
14
|
+
* // "https://example.com/path?foo=bar"
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare const buildUrl: (base: string, parameters?: Record<string, string>) => string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildUrl = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Builds a URL with query parameters appended.
|
|
9
|
+
*
|
|
10
|
+
* @param base - The base URL string
|
|
11
|
+
* @param params - An object of key-value pairs to append as query parameters
|
|
12
|
+
* @returns The complete URL string with query parameters
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* buildUrl("https://example.com", { page: "1", q: "search" });
|
|
17
|
+
* // "https://example.com/?page=1&q=search"
|
|
18
|
+
*
|
|
19
|
+
* buildUrl("https://example.com/path", { foo: "bar" });
|
|
20
|
+
* // "https://example.com/path?foo=bar"
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
var buildUrl = exports.buildUrl = function buildUrl(base) {
|
|
24
|
+
var parameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
25
|
+
var url = new URL(base);
|
|
26
|
+
for (var _i = 0, _Object$keys = Object.keys(parameters); _i < _Object$keys.length; _i++) {
|
|
27
|
+
var key = _Object$keys[_i];
|
|
28
|
+
url.searchParams.append(key, parameters[key]);
|
|
29
|
+
}
|
|
30
|
+
return url.toString();
|
|
31
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _buildUrl = require("./buildUrl");
|
|
7
|
+
Object.keys(_buildUrl).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _buildUrl[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _buildUrl[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _isAbsoluteUrl = require("./isAbsoluteUrl");
|
|
18
|
+
Object.keys(_isAbsoluteUrl).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _isAbsoluteUrl[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _isAbsoluteUrl[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _joinPath = require("./joinPath");
|
|
29
|
+
Object.keys(_joinPath).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _joinPath[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _joinPath[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _parseQueryString = require("./parseQueryString");
|
|
40
|
+
Object.keys(_parseQueryString).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _parseQueryString[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _parseQueryString[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether a URL string is absolute (RFC 3986).
|
|
3
|
+
*
|
|
4
|
+
* An absolute URL starts with a scheme followed by a colon,
|
|
5
|
+
* where the scheme begins with a letter and may contain
|
|
6
|
+
* letters, digits, plus, hyphen, or period.
|
|
7
|
+
*
|
|
8
|
+
* @param url - The URL string to check
|
|
9
|
+
* @returns True if the URL is absolute, false otherwise
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* isAbsoluteUrl("https://example.com"); // true
|
|
14
|
+
* isAbsoluteUrl("ftp://files.example"); // true
|
|
15
|
+
* isAbsoluteUrl("/path/to/page"); // false
|
|
16
|
+
* isAbsoluteUrl("relative/path"); // false
|
|
17
|
+
* isAbsoluteUrl("mailto:user@host"); // true
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const isAbsoluteUrl: (url: string) => boolean;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isAbsoluteUrl = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Checks whether a URL string is absolute (RFC 3986).
|
|
9
|
+
*
|
|
10
|
+
* An absolute URL starts with a scheme followed by a colon,
|
|
11
|
+
* where the scheme begins with a letter and may contain
|
|
12
|
+
* letters, digits, plus, hyphen, or period.
|
|
13
|
+
*
|
|
14
|
+
* @param url - The URL string to check
|
|
15
|
+
* @returns True if the URL is absolute, false otherwise
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* isAbsoluteUrl("https://example.com"); // true
|
|
20
|
+
* isAbsoluteUrl("ftp://files.example"); // true
|
|
21
|
+
* isAbsoluteUrl("/path/to/page"); // false
|
|
22
|
+
* isAbsoluteUrl("relative/path"); // false
|
|
23
|
+
* isAbsoluteUrl("mailto:user@host"); // true
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
var isAbsoluteUrl = exports.isAbsoluteUrl = function isAbsoluteUrl(url) {
|
|
27
|
+
return /^[a-z][\d+.a-z-]*:/i.test(url);
|
|
28
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Joins multiple path segments into a single path,
|
|
3
|
+
* normalizing slashes between segments.
|
|
4
|
+
*
|
|
5
|
+
* Leading slash of the first segment is preserved.
|
|
6
|
+
* Trailing slash of the last segment is preserved.
|
|
7
|
+
* All intermediate slashes are normalized to a single slash.
|
|
8
|
+
*
|
|
9
|
+
* @param segments - The path segments to join
|
|
10
|
+
* @returns The joined and normalized path
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* joinPath("https://example.com/", "/api/", "/users");
|
|
15
|
+
* // "https://example.com/api/users"
|
|
16
|
+
*
|
|
17
|
+
* joinPath("/a/", "/b/", "/c");
|
|
18
|
+
* // "/a/b/c"
|
|
19
|
+
*
|
|
20
|
+
* joinPath("a", "b", "c");
|
|
21
|
+
* // "a/b/c"
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare const joinPath: (...segments: string[]) => string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.joinPath = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Joins multiple path segments into a single path,
|
|
9
|
+
* normalizing slashes between segments.
|
|
10
|
+
*
|
|
11
|
+
* Leading slash of the first segment is preserved.
|
|
12
|
+
* Trailing slash of the last segment is preserved.
|
|
13
|
+
* All intermediate slashes are normalized to a single slash.
|
|
14
|
+
*
|
|
15
|
+
* @param segments - The path segments to join
|
|
16
|
+
* @returns The joined and normalized path
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* joinPath("https://example.com/", "/api/", "/users");
|
|
21
|
+
* // "https://example.com/api/users"
|
|
22
|
+
*
|
|
23
|
+
* joinPath("/a/", "/b/", "/c");
|
|
24
|
+
* // "/a/b/c"
|
|
25
|
+
*
|
|
26
|
+
* joinPath("a", "b", "c");
|
|
27
|
+
* // "a/b/c"
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
var joinPath = exports.joinPath = function joinPath() {
|
|
31
|
+
if (arguments.length === 0) {
|
|
32
|
+
return "";
|
|
33
|
+
}
|
|
34
|
+
var normalized = [];
|
|
35
|
+
for (var index = 0; index < arguments.length; index++) {
|
|
36
|
+
var segment = index < 0 || arguments.length <= index ? undefined : arguments[index];
|
|
37
|
+
if (index > 0) {
|
|
38
|
+
segment = segment.replace(/^\/+/, "");
|
|
39
|
+
}
|
|
40
|
+
if (index < arguments.length - 1) {
|
|
41
|
+
segment = segment.replace(/\/+$/, "");
|
|
42
|
+
}
|
|
43
|
+
if (segment.length > 0) {
|
|
44
|
+
normalized.push(segment);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return normalized.join("/");
|
|
48
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses a query string into a key-value record.
|
|
3
|
+
*
|
|
4
|
+
* Accepts either a full URL or a raw query string
|
|
5
|
+
* (with or without leading "?").
|
|
6
|
+
*
|
|
7
|
+
* @param query - The query string or URL to parse
|
|
8
|
+
* @returns A record of key-value pairs from the query string
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* parseQueryString("?page=1&q=search");
|
|
13
|
+
* // { page: "1", q: "search" }
|
|
14
|
+
*
|
|
15
|
+
* parseQueryString("foo=bar&baz=qux");
|
|
16
|
+
* // { foo: "bar", baz: "qux" }
|
|
17
|
+
*
|
|
18
|
+
* parseQueryString("https://example.com?a=1&b=2");
|
|
19
|
+
* // { a: "1", b: "2" }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const parseQueryString: (query: string) => Record<string, string>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseQueryString = void 0;
|
|
7
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
11
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
12
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
+
/**
|
|
15
|
+
* Parses a query string into a key-value record.
|
|
16
|
+
*
|
|
17
|
+
* Accepts either a full URL or a raw query string
|
|
18
|
+
* (with or without leading "?").
|
|
19
|
+
*
|
|
20
|
+
* @param query - The query string or URL to parse
|
|
21
|
+
* @returns A record of key-value pairs from the query string
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* parseQueryString("?page=1&q=search");
|
|
26
|
+
* // { page: "1", q: "search" }
|
|
27
|
+
*
|
|
28
|
+
* parseQueryString("foo=bar&baz=qux");
|
|
29
|
+
* // { foo: "bar", baz: "qux" }
|
|
30
|
+
*
|
|
31
|
+
* parseQueryString("https://example.com?a=1&b=2");
|
|
32
|
+
* // { a: "1", b: "2" }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
var parseQueryString = exports.parseQueryString = function parseQueryString(query) {
|
|
36
|
+
var searchString = query;
|
|
37
|
+
if (query.includes("://")) {
|
|
38
|
+
searchString = new URL(query).search;
|
|
39
|
+
}
|
|
40
|
+
var parameters = new URLSearchParams(searchString);
|
|
41
|
+
var result = {};
|
|
42
|
+
var _iterator = _createForOfIteratorHelper(parameters),
|
|
43
|
+
_step;
|
|
44
|
+
try {
|
|
45
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
46
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
47
|
+
key = _step$value[0],
|
|
48
|
+
value = _step$value[1];
|
|
49
|
+
result[key] = value;
|
|
50
|
+
}
|
|
51
|
+
} catch (err) {
|
|
52
|
+
_iterator.e(err);
|
|
53
|
+
} finally {
|
|
54
|
+
_iterator.f();
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
};
|