@mdigitalcn/utils 2.0.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/LICENSE +21 -0
- package/README.md +228 -0
- package/dist/esm/array/checkValueInArray.js +2 -0
- package/dist/esm/array/checkValueInArray.js.map +1 -0
- package/dist/esm/array/chunk.js +2 -0
- package/dist/esm/array/chunk.js.map +1 -0
- package/dist/esm/array/collectBy.js +2 -0
- package/dist/esm/array/collectBy.js.map +1 -0
- package/dist/esm/array/compact.js +2 -0
- package/dist/esm/array/compact.js.map +1 -0
- package/dist/esm/array/countBy.js +2 -0
- package/dist/esm/array/countBy.js.map +1 -0
- package/dist/esm/array/difference.js +2 -0
- package/dist/esm/array/difference.js.map +1 -0
- package/dist/esm/array/drop.js +2 -0
- package/dist/esm/array/drop.js.map +1 -0
- package/dist/esm/array/dropWhile.js +2 -0
- package/dist/esm/array/dropWhile.js.map +1 -0
- package/dist/esm/array/first.js +2 -0
- package/dist/esm/array/first.js.map +1 -0
- package/dist/esm/array/flatten.js +2 -0
- package/dist/esm/array/flatten.js.map +1 -0
- package/dist/esm/array/groupBy.js +2 -0
- package/dist/esm/array/groupBy.js.map +1 -0
- package/dist/esm/array/index.js +2 -0
- package/dist/esm/array/index.js.map +1 -0
- package/dist/esm/array/intersection.js +2 -0
- package/dist/esm/array/intersection.js.map +1 -0
- package/dist/esm/array/keyBy.js +2 -0
- package/dist/esm/array/keyBy.js.map +1 -0
- package/dist/esm/array/last.js +2 -0
- package/dist/esm/array/last.js.map +1 -0
- package/dist/esm/array/maxBy.js +2 -0
- package/dist/esm/array/maxBy.js.map +1 -0
- package/dist/esm/array/minBy.js +2 -0
- package/dist/esm/array/minBy.js.map +1 -0
- package/dist/esm/array/partition.js +2 -0
- package/dist/esm/array/partition.js.map +1 -0
- package/dist/esm/array/sameElementsInArrays.js +2 -0
- package/dist/esm/array/sameElementsInArrays.js.map +1 -0
- package/dist/esm/array/sample.js +2 -0
- package/dist/esm/array/sample.js.map +1 -0
- package/dist/esm/array/shuffle.js +2 -0
- package/dist/esm/array/shuffle.js.map +1 -0
- package/dist/esm/array/sortBy.js +2 -0
- package/dist/esm/array/sortBy.js.map +1 -0
- package/dist/esm/array/take.js +2 -0
- package/dist/esm/array/take.js.map +1 -0
- package/dist/esm/array/takeWhile.js +2 -0
- package/dist/esm/array/takeWhile.js.map +1 -0
- package/dist/esm/array/union.js +2 -0
- package/dist/esm/array/union.js.map +1 -0
- package/dist/esm/array/uniq.js +2 -0
- package/dist/esm/array/uniq.js.map +1 -0
- package/dist/esm/array/uniqBy.js +2 -0
- package/dist/esm/array/uniqBy.js.map +1 -0
- package/dist/esm/array/without.js +2 -0
- package/dist/esm/array/without.js.map +1 -0
- package/dist/esm/array/xor.js +2 -0
- package/dist/esm/array/xor.js.map +1 -0
- package/dist/esm/array/zip.js +2 -0
- package/dist/esm/array/zip.js.map +1 -0
- package/dist/esm/array/zipObject.js +2 -0
- package/dist/esm/array/zipObject.js.map +1 -0
- package/dist/esm/file/anyToString.js +2 -0
- package/dist/esm/file/anyToString.js.map +1 -0
- package/dist/esm/file/convertToFormData.js +2 -0
- package/dist/esm/file/convertToFormData.js.map +1 -0
- package/dist/esm/file/decodeURIValue.js +2 -0
- package/dist/esm/file/decodeURIValue.js.map +1 -0
- package/dist/esm/file/downloadFile.js +2 -0
- package/dist/esm/file/downloadFile.js.map +1 -0
- package/dist/esm/file/getBase64.js +2 -0
- package/dist/esm/file/getBase64.js.map +1 -0
- package/dist/esm/file/index.js +2 -0
- package/dist/esm/file/index.js.map +1 -0
- package/dist/esm/file/isFileArray.js +2 -0
- package/dist/esm/file/isFileArray.js.map +1 -0
- package/dist/esm/function/compose.js +2 -0
- package/dist/esm/function/compose.js.map +1 -0
- package/dist/esm/function/curry.js +2 -0
- package/dist/esm/function/curry.js.map +1 -0
- package/dist/esm/function/debounce.js +2 -0
- package/dist/esm/function/debounce.js.map +1 -0
- package/dist/esm/function/hexToRgba.js +2 -0
- package/dist/esm/function/hexToRgba.js.map +1 -0
- package/dist/esm/function/identity.js +2 -0
- package/dist/esm/function/identity.js.map +1 -0
- package/dist/esm/function/index.js +2 -0
- package/dist/esm/function/index.js.map +1 -0
- package/dist/esm/function/memoize.js +2 -0
- package/dist/esm/function/memoize.js.map +1 -0
- package/dist/esm/function/negate.js +2 -0
- package/dist/esm/function/negate.js.map +1 -0
- package/dist/esm/function/noop.js +2 -0
- package/dist/esm/function/noop.js.map +1 -0
- package/dist/esm/function/once.js +2 -0
- package/dist/esm/function/once.js.map +1 -0
- package/dist/esm/function/partial.js +2 -0
- package/dist/esm/function/partial.js.map +1 -0
- package/dist/esm/function/pipe.js +2 -0
- package/dist/esm/function/pipe.js.map +1 -0
- package/dist/esm/function/queryString.js +2 -0
- package/dist/esm/function/queryString.js.map +1 -0
- package/dist/esm/function/throttle.js +2 -0
- package/dist/esm/function/throttle.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/math/clamp.js +2 -0
- package/dist/esm/math/clamp.js.map +1 -0
- package/dist/esm/math/inRange.js +2 -0
- package/dist/esm/math/inRange.js.map +1 -0
- package/dist/esm/math/index.js +2 -0
- package/dist/esm/math/index.js.map +1 -0
- package/dist/esm/math/mean.js +2 -0
- package/dist/esm/math/mean.js.map +1 -0
- package/dist/esm/math/median.js +2 -0
- package/dist/esm/math/median.js.map +1 -0
- package/dist/esm/math/random.js +2 -0
- package/dist/esm/math/random.js.map +1 -0
- package/dist/esm/math/range.js +2 -0
- package/dist/esm/math/range.js.map +1 -0
- package/dist/esm/math/round.js +2 -0
- package/dist/esm/math/round.js.map +1 -0
- package/dist/esm/math/sum.js +2 -0
- package/dist/esm/math/sum.js.map +1 -0
- package/dist/esm/object/cloneDeep.js +2 -0
- package/dist/esm/object/cloneDeep.js.map +1 -0
- package/dist/esm/object/findKey.js +2 -0
- package/dist/esm/object/findKey.js.map +1 -0
- package/dist/esm/object/flattenObject.js +2 -0
- package/dist/esm/object/flattenObject.js.map +1 -0
- package/dist/esm/object/get.js +2 -0
- package/dist/esm/object/get.js.map +1 -0
- package/dist/esm/object/getTrue.js +2 -0
- package/dist/esm/object/getTrue.js.map +1 -0
- package/dist/esm/object/has.js +2 -0
- package/dist/esm/object/has.js.map +1 -0
- package/dist/esm/object/index.js +2 -0
- package/dist/esm/object/index.js.map +1 -0
- package/dist/esm/object/invert.js +2 -0
- package/dist/esm/object/invert.js.map +1 -0
- package/dist/esm/object/isEmpty.js +2 -0
- package/dist/esm/object/isEmpty.js.map +1 -0
- package/dist/esm/object/jsonParse.js +2 -0
- package/dist/esm/object/jsonParse.js.map +1 -0
- package/dist/esm/object/mapKeys.js +2 -0
- package/dist/esm/object/mapKeys.js.map +1 -0
- package/dist/esm/object/mapValues.js +2 -0
- package/dist/esm/object/mapValues.js.map +1 -0
- package/dist/esm/object/mergeDeep.js +2 -0
- package/dist/esm/object/mergeDeep.js.map +1 -0
- package/dist/esm/object/omit.js +2 -0
- package/dist/esm/object/omit.js.map +1 -0
- package/dist/esm/object/omitBy.js +2 -0
- package/dist/esm/object/omitBy.js.map +1 -0
- package/dist/esm/object/path.js +2 -0
- package/dist/esm/object/path.js.map +1 -0
- package/dist/esm/object/pathOr.js +2 -0
- package/dist/esm/object/pathOr.js.map +1 -0
- package/dist/esm/object/pick.js +2 -0
- package/dist/esm/object/pick.js.map +1 -0
- package/dist/esm/object/pickBy.js +2 -0
- package/dist/esm/object/pickBy.js.map +1 -0
- package/dist/esm/object/prop.js +2 -0
- package/dist/esm/object/prop.js.map +1 -0
- package/dist/esm/object/propOr.js +2 -0
- package/dist/esm/object/propOr.js.map +1 -0
- package/dist/esm/object/set.js +2 -0
- package/dist/esm/object/set.js.map +1 -0
- package/dist/esm/predicate/index.js +2 -0
- package/dist/esm/predicate/index.js.map +1 -0
- package/dist/esm/predicate/isArray.js +2 -0
- package/dist/esm/predicate/isArray.js.map +1 -0
- package/dist/esm/predicate/isBoolean.js +2 -0
- package/dist/esm/predicate/isBoolean.js.map +1 -0
- package/dist/esm/predicate/isDate.js +2 -0
- package/dist/esm/predicate/isDate.js.map +1 -0
- package/dist/esm/predicate/isEqual.js +2 -0
- package/dist/esm/predicate/isEqual.js.map +1 -0
- package/dist/esm/predicate/isError.js +2 -0
- package/dist/esm/predicate/isError.js.map +1 -0
- package/dist/esm/predicate/isFunction.js +2 -0
- package/dist/esm/predicate/isFunction.js.map +1 -0
- package/dist/esm/predicate/isNil.js +2 -0
- package/dist/esm/predicate/isNil.js.map +1 -0
- package/dist/esm/predicate/isNumber.js +2 -0
- package/dist/esm/predicate/isNumber.js.map +1 -0
- package/dist/esm/predicate/isPlainObject.js +2 -0
- package/dist/esm/predicate/isPlainObject.js.map +1 -0
- package/dist/esm/predicate/isPrimitive.js +2 -0
- package/dist/esm/predicate/isPrimitive.js.map +1 -0
- package/dist/esm/predicate/isPromise.js +2 -0
- package/dist/esm/predicate/isPromise.js.map +1 -0
- package/dist/esm/predicate/isString.js +2 -0
- package/dist/esm/predicate/isString.js.map +1 -0
- package/dist/esm/promise/attempt.js +2 -0
- package/dist/esm/promise/attempt.js.map +1 -0
- package/dist/esm/promise/delay.js +2 -0
- package/dist/esm/promise/delay.js.map +1 -0
- package/dist/esm/promise/index.js +2 -0
- package/dist/esm/promise/index.js.map +1 -0
- package/dist/esm/promise/invariant.js +2 -0
- package/dist/esm/promise/invariant.js.map +1 -0
- package/dist/esm/promise/retry.js +2 -0
- package/dist/esm/promise/retry.js.map +1 -0
- package/dist/esm/promise/timeout.js +2 -0
- package/dist/esm/promise/timeout.js.map +1 -0
- package/dist/esm/react/hooks/useClickOutside.js +3 -0
- package/dist/esm/react/hooks/useClickOutside.js.map +1 -0
- package/dist/esm/react/hooks/useCopyToClipboard.js +3 -0
- package/dist/esm/react/hooks/useCopyToClipboard.js.map +1 -0
- package/dist/esm/react/hooks/useDebounce.js +3 -0
- package/dist/esm/react/hooks/useDebounce.js.map +1 -0
- package/dist/esm/react/hooks/useIntersectionObserver.js +3 -0
- package/dist/esm/react/hooks/useIntersectionObserver.js.map +1 -0
- package/dist/esm/react/hooks/useIsMounted.js +3 -0
- package/dist/esm/react/hooks/useIsMounted.js.map +1 -0
- package/dist/esm/react/hooks/useLocalStorage.js +3 -0
- package/dist/esm/react/hooks/useLocalStorage.js.map +1 -0
- package/dist/esm/react/hooks/useMediaQuery.js +3 -0
- package/dist/esm/react/hooks/useMediaQuery.js.map +1 -0
- package/dist/esm/react/hooks/useMountEffect.js +3 -0
- package/dist/esm/react/hooks/useMountEffect.js.map +1 -0
- package/dist/esm/react/hooks/usePrevious.js +3 -0
- package/dist/esm/react/hooks/usePrevious.js.map +1 -0
- package/dist/esm/react/hooks/useScreenSize.js +3 -0
- package/dist/esm/react/hooks/useScreenSize.js.map +1 -0
- package/dist/esm/react/hooks/useSessionStorage.js +3 -0
- package/dist/esm/react/hooks/useSessionStorage.js.map +1 -0
- package/dist/esm/react/hooks/useThrottle.js +3 -0
- package/dist/esm/react/hooks/useThrottle.js.map +1 -0
- package/dist/esm/react/hooks/useToggle.js +3 -0
- package/dist/esm/react/hooks/useToggle.js.map +1 -0
- package/dist/esm/react/hooks/useUpdateEffect.js +3 -0
- package/dist/esm/react/hooks/useUpdateEffect.js.map +1 -0
- package/dist/esm/react/index.js +2 -0
- package/dist/esm/react/index.js.map +1 -0
- package/dist/esm/react/utils/clsx.js +2 -0
- package/dist/esm/react/utils/clsx.js.map +1 -0
- package/dist/esm/react/utils/createContext.js +3 -0
- package/dist/esm/react/utils/createContext.js.map +1 -0
- package/dist/esm/react/utils/displayField.js +2 -0
- package/dist/esm/react/utils/displayField.js.map +1 -0
- package/dist/esm/string/camelCase.js +2 -0
- package/dist/esm/string/camelCase.js.map +1 -0
- package/dist/esm/string/capitalize.js +2 -0
- package/dist/esm/string/capitalize.js.map +1 -0
- package/dist/esm/string/deburr.js +2 -0
- package/dist/esm/string/deburr.js.map +1 -0
- package/dist/esm/string/escapeHtml.js +2 -0
- package/dist/esm/string/escapeHtml.js.map +1 -0
- package/dist/esm/string/escapeRegExp.js +2 -0
- package/dist/esm/string/escapeRegExp.js.map +1 -0
- package/dist/esm/string/formatBytes.js +2 -0
- package/dist/esm/string/formatBytes.js.map +1 -0
- package/dist/esm/string/formatDuration.js +2 -0
- package/dist/esm/string/formatDuration.js.map +1 -0
- package/dist/esm/string/formatNumber.js +2 -0
- package/dist/esm/string/formatNumber.js.map +1 -0
- package/dist/esm/string/htmlToText.js +2 -0
- package/dist/esm/string/htmlToText.js.map +1 -0
- package/dist/esm/string/index.js +2 -0
- package/dist/esm/string/index.js.map +1 -0
- package/dist/esm/string/kebabCase.js +2 -0
- package/dist/esm/string/kebabCase.js.map +1 -0
- package/dist/esm/string/maskString.js +2 -0
- package/dist/esm/string/maskString.js.map +1 -0
- package/dist/esm/string/pascalCase.js +2 -0
- package/dist/esm/string/pascalCase.js.map +1 -0
- package/dist/esm/string/pluralize.js +2 -0
- package/dist/esm/string/pluralize.js.map +1 -0
- package/dist/esm/string/slugify.js +2 -0
- package/dist/esm/string/slugify.js.map +1 -0
- package/dist/esm/string/snakeCase.js +2 -0
- package/dist/esm/string/snakeCase.js.map +1 -0
- package/dist/esm/string/startCase.js +2 -0
- package/dist/esm/string/startCase.js.map +1 -0
- package/dist/esm/string/template.js +2 -0
- package/dist/esm/string/template.js.map +1 -0
- package/dist/esm/string/truncateString.js +2 -0
- package/dist/esm/string/truncateString.js.map +1 -0
- package/dist/esm/string/words.js +2 -0
- package/dist/esm/string/words.js.map +1 -0
- package/dist/esm/validation/index.js +2 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/validation/validateFileSizeByType.js +2 -0
- package/dist/esm/validation/validateFileSizeByType.js.map +1 -0
- package/dist/types/array/checkValueInArray.d.ts +23 -0
- package/dist/types/array/checkValueInArray.d.ts.map +1 -0
- package/dist/types/array/chunk.d.ts +15 -0
- package/dist/types/array/chunk.d.ts.map +1 -0
- package/dist/types/array/collectBy.d.ts +21 -0
- package/dist/types/array/collectBy.d.ts.map +1 -0
- package/dist/types/array/compact.d.ts +19 -0
- package/dist/types/array/compact.d.ts.map +1 -0
- package/dist/types/array/countBy.d.ts +13 -0
- package/dist/types/array/countBy.d.ts.map +1 -0
- package/dist/types/array/difference.d.ts +14 -0
- package/dist/types/array/difference.d.ts.map +1 -0
- package/dist/types/array/drop.d.ts +14 -0
- package/dist/types/array/drop.d.ts.map +1 -0
- package/dist/types/array/dropWhile.d.ts +13 -0
- package/dist/types/array/dropWhile.d.ts.map +1 -0
- package/dist/types/array/first.d.ts +13 -0
- package/dist/types/array/first.d.ts.map +1 -0
- package/dist/types/array/flatten.d.ts +13 -0
- package/dist/types/array/flatten.d.ts.map +1 -0
- package/dist/types/array/groupBy.d.ts +17 -0
- package/dist/types/array/groupBy.d.ts.map +1 -0
- package/dist/types/array/index.d.ts +31 -0
- package/dist/types/array/index.d.ts.map +1 -0
- package/dist/types/array/intersection.d.ts +14 -0
- package/dist/types/array/intersection.d.ts.map +1 -0
- package/dist/types/array/keyBy.d.ts +15 -0
- package/dist/types/array/keyBy.d.ts.map +1 -0
- package/dist/types/array/last.d.ts +13 -0
- package/dist/types/array/last.d.ts.map +1 -0
- package/dist/types/array/maxBy.d.ts +13 -0
- package/dist/types/array/maxBy.d.ts.map +1 -0
- package/dist/types/array/minBy.d.ts +13 -0
- package/dist/types/array/minBy.d.ts.map +1 -0
- package/dist/types/array/partition.d.ts +13 -0
- package/dist/types/array/partition.d.ts.map +1 -0
- package/dist/types/array/sameElementsInArrays.d.ts +15 -0
- package/dist/types/array/sameElementsInArrays.d.ts.map +1 -0
- package/dist/types/array/sample.d.ts +12 -0
- package/dist/types/array/sample.d.ts.map +1 -0
- package/dist/types/array/shuffle.d.ts +12 -0
- package/dist/types/array/shuffle.d.ts.map +1 -0
- package/dist/types/array/sortBy.d.ts +20 -0
- package/dist/types/array/sortBy.d.ts.map +1 -0
- package/dist/types/array/take.d.ts +14 -0
- package/dist/types/array/take.d.ts.map +1 -0
- package/dist/types/array/takeWhile.d.ts +13 -0
- package/dist/types/array/takeWhile.d.ts.map +1 -0
- package/dist/types/array/union.d.ts +13 -0
- package/dist/types/array/union.d.ts.map +1 -0
- package/dist/types/array/uniq.d.ts +12 -0
- package/dist/types/array/uniq.d.ts.map +1 -0
- package/dist/types/array/uniqBy.d.ts +12 -0
- package/dist/types/array/uniqBy.d.ts.map +1 -0
- package/dist/types/array/without.d.ts +13 -0
- package/dist/types/array/without.d.ts.map +1 -0
- package/dist/types/array/xor.d.ts +13 -0
- package/dist/types/array/xor.d.ts.map +1 -0
- package/dist/types/array/zip.d.ts +15 -0
- package/dist/types/array/zip.d.ts.map +1 -0
- package/dist/types/array/zipObject.d.ts +13 -0
- package/dist/types/array/zipObject.d.ts.map +1 -0
- package/dist/types/file/anyToString.d.ts +24 -0
- package/dist/types/file/anyToString.d.ts.map +1 -0
- package/dist/types/file/convertToFormData.d.ts +19 -0
- package/dist/types/file/convertToFormData.d.ts.map +1 -0
- package/dist/types/file/decodeURIValue.d.ts +22 -0
- package/dist/types/file/decodeURIValue.d.ts.map +1 -0
- package/dist/types/file/downloadFile.d.ts +28 -0
- package/dist/types/file/downloadFile.d.ts.map +1 -0
- package/dist/types/file/getBase64.d.ts +20 -0
- package/dist/types/file/getBase64.d.ts.map +1 -0
- package/dist/types/file/index.d.ts +7 -0
- package/dist/types/file/index.d.ts.map +1 -0
- package/dist/types/file/isFileArray.d.ts +13 -0
- package/dist/types/file/isFileArray.d.ts.map +1 -0
- package/dist/types/function/compose.d.ts +24 -0
- package/dist/types/function/compose.d.ts.map +1 -0
- package/dist/types/function/curry.d.ts +39 -0
- package/dist/types/function/curry.d.ts.map +1 -0
- package/dist/types/function/debounce.d.ts +36 -0
- package/dist/types/function/debounce.d.ts.map +1 -0
- package/dist/types/function/hexToRgba.d.ts +19 -0
- package/dist/types/function/hexToRgba.d.ts.map +1 -0
- package/dist/types/function/identity.d.ts +24 -0
- package/dist/types/function/identity.d.ts.map +1 -0
- package/dist/types/function/index.d.ts +16 -0
- package/dist/types/function/index.d.ts.map +1 -0
- package/dist/types/function/memoize.d.ts +20 -0
- package/dist/types/function/memoize.d.ts.map +1 -0
- package/dist/types/function/negate.d.ts +12 -0
- package/dist/types/function/negate.d.ts.map +1 -0
- package/dist/types/function/noop.d.ts +27 -0
- package/dist/types/function/noop.d.ts.map +1 -0
- package/dist/types/function/once.d.ts +22 -0
- package/dist/types/function/once.d.ts.map +1 -0
- package/dist/types/function/partial.d.ts +17 -0
- package/dist/types/function/partial.d.ts.map +1 -0
- package/dist/types/function/pipe.d.ts +24 -0
- package/dist/types/function/pipe.d.ts.map +1 -0
- package/dist/types/function/queryString.d.ts +44 -0
- package/dist/types/function/queryString.d.ts.map +1 -0
- package/dist/types/function/throttle.d.ts +35 -0
- package/dist/types/function/throttle.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/math/clamp.d.ts +15 -0
- package/dist/types/math/clamp.d.ts.map +1 -0
- package/dist/types/math/inRange.d.ts +18 -0
- package/dist/types/math/inRange.d.ts.map +1 -0
- package/dist/types/math/index.d.ts +9 -0
- package/dist/types/math/index.d.ts.map +1 -0
- package/dist/types/math/mean.d.ts +11 -0
- package/dist/types/math/mean.d.ts.map +1 -0
- package/dist/types/math/median.d.ts +15 -0
- package/dist/types/math/median.d.ts.map +1 -0
- package/dist/types/math/random.d.ts +27 -0
- package/dist/types/math/random.d.ts.map +1 -0
- package/dist/types/math/range.d.ts +18 -0
- package/dist/types/math/range.d.ts.map +1 -0
- package/dist/types/math/round.d.ts +16 -0
- package/dist/types/math/round.d.ts.map +1 -0
- package/dist/types/math/sum.d.ts +11 -0
- package/dist/types/math/sum.d.ts.map +1 -0
- package/dist/types/object/cloneDeep.d.ts +18 -0
- package/dist/types/object/cloneDeep.d.ts.map +1 -0
- package/dist/types/object/findKey.d.ts +14 -0
- package/dist/types/object/findKey.d.ts.map +1 -0
- package/dist/types/object/flattenObject.d.ts +16 -0
- package/dist/types/object/flattenObject.d.ts.map +1 -0
- package/dist/types/object/get.d.ts +22 -0
- package/dist/types/object/get.d.ts.map +1 -0
- package/dist/types/object/getTrue.d.ts +12 -0
- package/dist/types/object/getTrue.d.ts.map +1 -0
- package/dist/types/object/has.d.ts +15 -0
- package/dist/types/object/has.d.ts.map +1 -0
- package/dist/types/object/index.d.ts +22 -0
- package/dist/types/object/index.d.ts.map +1 -0
- package/dist/types/object/invert.d.ts +13 -0
- package/dist/types/object/invert.d.ts.map +1 -0
- package/dist/types/object/isEmpty.d.ts +23 -0
- package/dist/types/object/isEmpty.d.ts.map +1 -0
- package/dist/types/object/jsonParse.d.ts +21 -0
- package/dist/types/object/jsonParse.d.ts.map +1 -0
- package/dist/types/object/mapKeys.d.ts +17 -0
- package/dist/types/object/mapKeys.d.ts.map +1 -0
- package/dist/types/object/mapValues.d.ts +17 -0
- package/dist/types/object/mapValues.d.ts.map +1 -0
- package/dist/types/object/mergeDeep.d.ts +20 -0
- package/dist/types/object/mergeDeep.d.ts.map +1 -0
- package/dist/types/object/omit.d.ts +13 -0
- package/dist/types/object/omit.d.ts.map +1 -0
- package/dist/types/object/omitBy.d.ts +17 -0
- package/dist/types/object/omitBy.d.ts.map +1 -0
- package/dist/types/object/path.d.ts +13 -0
- package/dist/types/object/path.d.ts.map +1 -0
- package/dist/types/object/pathOr.d.ts +14 -0
- package/dist/types/object/pathOr.d.ts.map +1 -0
- package/dist/types/object/pick.d.ts +13 -0
- package/dist/types/object/pick.d.ts.map +1 -0
- package/dist/types/object/pickBy.d.ts +17 -0
- package/dist/types/object/pickBy.d.ts.map +1 -0
- package/dist/types/object/prop.d.ts +31 -0
- package/dist/types/object/prop.d.ts.map +1 -0
- package/dist/types/object/propOr.d.ts +39 -0
- package/dist/types/object/propOr.d.ts.map +1 -0
- package/dist/types/object/set.d.ts +16 -0
- package/dist/types/object/set.d.ts.map +1 -0
- package/dist/types/predicate/index.d.ts +16 -0
- package/dist/types/predicate/index.d.ts.map +1 -0
- package/dist/types/predicate/isArray.d.ts +14 -0
- package/dist/types/predicate/isArray.d.ts.map +1 -0
- package/dist/types/predicate/isBoolean.d.ts +14 -0
- package/dist/types/predicate/isBoolean.d.ts.map +1 -0
- package/dist/types/predicate/isDate.d.ts +16 -0
- package/dist/types/predicate/isDate.d.ts.map +1 -0
- package/dist/types/predicate/isEqual.d.ts +18 -0
- package/dist/types/predicate/isEqual.d.ts.map +1 -0
- package/dist/types/predicate/isError.d.ts +14 -0
- package/dist/types/predicate/isError.d.ts.map +1 -0
- package/dist/types/predicate/isFunction.d.ts +14 -0
- package/dist/types/predicate/isFunction.d.ts.map +1 -0
- package/dist/types/predicate/isNil.d.ts +33 -0
- package/dist/types/predicate/isNil.d.ts.map +1 -0
- package/dist/types/predicate/isNumber.d.ts +17 -0
- package/dist/types/predicate/isNumber.d.ts.map +1 -0
- package/dist/types/predicate/isPlainObject.d.ts +18 -0
- package/dist/types/predicate/isPlainObject.d.ts.map +1 -0
- package/dist/types/predicate/isPrimitive.d.ts +18 -0
- package/dist/types/predicate/isPrimitive.d.ts.map +1 -0
- package/dist/types/predicate/isPromise.d.ts +14 -0
- package/dist/types/predicate/isPromise.d.ts.map +1 -0
- package/dist/types/predicate/isString.d.ts +14 -0
- package/dist/types/predicate/isString.d.ts.map +1 -0
- package/dist/types/promise/attempt.d.ts +28 -0
- package/dist/types/promise/attempt.d.ts.map +1 -0
- package/dist/types/promise/delay.d.ts +26 -0
- package/dist/types/promise/delay.d.ts.map +1 -0
- package/dist/types/promise/index.d.ts +10 -0
- package/dist/types/promise/index.d.ts.map +1 -0
- package/dist/types/promise/invariant.d.ts +18 -0
- package/dist/types/promise/invariant.d.ts.map +1 -0
- package/dist/types/promise/retry.d.ts +36 -0
- package/dist/types/promise/retry.d.ts.map +1 -0
- package/dist/types/promise/timeout.d.ts +30 -0
- package/dist/types/promise/timeout.d.ts.map +1 -0
- package/dist/types/react/hooks/index.d.ts +21 -0
- package/dist/types/react/hooks/index.d.ts.map +1 -0
- package/dist/types/react/hooks/useClickOutside.d.ts +116 -0
- package/dist/types/react/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/types/react/hooks/useCopyToClipboard.d.ts +22 -0
- package/dist/types/react/hooks/useCopyToClipboard.d.ts.map +1 -0
- package/dist/types/react/hooks/useDebounce.d.ts +57 -0
- package/dist/types/react/hooks/useDebounce.d.ts.map +1 -0
- package/dist/types/react/hooks/useIntersectionObserver.d.ts +118 -0
- package/dist/types/react/hooks/useIntersectionObserver.d.ts.map +1 -0
- package/dist/types/react/hooks/useIsMounted.d.ts +26 -0
- package/dist/types/react/hooks/useIsMounted.d.ts.map +1 -0
- package/dist/types/react/hooks/useLocalStorage.d.ts +78 -0
- package/dist/types/react/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/types/react/hooks/useMediaQuery.d.ts +85 -0
- package/dist/types/react/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/types/react/hooks/useMountEffect.d.ts +107 -0
- package/dist/types/react/hooks/useMountEffect.d.ts.map +1 -0
- package/dist/types/react/hooks/usePrevious.d.ts +88 -0
- package/dist/types/react/hooks/usePrevious.d.ts.map +1 -0
- package/dist/types/react/hooks/useScreenSize.d.ts +37 -0
- package/dist/types/react/hooks/useScreenSize.d.ts.map +1 -0
- package/dist/types/react/hooks/useSessionStorage.d.ts +49 -0
- package/dist/types/react/hooks/useSessionStorage.d.ts.map +1 -0
- package/dist/types/react/hooks/useThrottle.d.ts +62 -0
- package/dist/types/react/hooks/useThrottle.d.ts.map +1 -0
- package/dist/types/react/hooks/useToggle.d.ts +89 -0
- package/dist/types/react/hooks/useToggle.d.ts.map +1 -0
- package/dist/types/react/hooks/useUpdateEffect.d.ts +91 -0
- package/dist/types/react/hooks/useUpdateEffect.d.ts.map +1 -0
- package/dist/types/react/index.d.ts +9 -0
- package/dist/types/react/index.d.ts.map +1 -0
- package/dist/types/react/utils/clsx.d.ts +31 -0
- package/dist/types/react/utils/clsx.d.ts.map +1 -0
- package/dist/types/react/utils/createContext.d.ts +27 -0
- package/dist/types/react/utils/createContext.d.ts.map +1 -0
- package/dist/types/react/utils/displayField.d.ts +18 -0
- package/dist/types/react/utils/displayField.d.ts.map +1 -0
- package/dist/types/react/utils/index.d.ts +5 -0
- package/dist/types/react/utils/index.d.ts.map +1 -0
- package/dist/types/string/camelCase.d.ts +16 -0
- package/dist/types/string/camelCase.d.ts.map +1 -0
- package/dist/types/string/capitalize.d.ts +11 -0
- package/dist/types/string/capitalize.d.ts.map +1 -0
- package/dist/types/string/deburr.d.ts +14 -0
- package/dist/types/string/deburr.d.ts.map +1 -0
- package/dist/types/string/escapeHtml.d.ts +17 -0
- package/dist/types/string/escapeHtml.d.ts.map +1 -0
- package/dist/types/string/escapeRegExp.d.ts +13 -0
- package/dist/types/string/escapeRegExp.d.ts.map +1 -0
- package/dist/types/string/formatBytes.d.ts +16 -0
- package/dist/types/string/formatBytes.d.ts.map +1 -0
- package/dist/types/string/formatDuration.d.ts +15 -0
- package/dist/types/string/formatDuration.d.ts.map +1 -0
- package/dist/types/string/formatNumber.d.ts +20 -0
- package/dist/types/string/formatNumber.d.ts.map +1 -0
- package/dist/types/string/htmlToText.d.ts +29 -0
- package/dist/types/string/htmlToText.d.ts.map +1 -0
- package/dist/types/string/index.d.ts +20 -0
- package/dist/types/string/index.d.ts.map +1 -0
- package/dist/types/string/kebabCase.d.ts +16 -0
- package/dist/types/string/kebabCase.d.ts.map +1 -0
- package/dist/types/string/maskString.d.ts +18 -0
- package/dist/types/string/maskString.d.ts.map +1 -0
- package/dist/types/string/pascalCase.d.ts +14 -0
- package/dist/types/string/pascalCase.d.ts.map +1 -0
- package/dist/types/string/pluralize.d.ts +17 -0
- package/dist/types/string/pluralize.d.ts.map +1 -0
- package/dist/types/string/slugify.d.ts +15 -0
- package/dist/types/string/slugify.d.ts.map +1 -0
- package/dist/types/string/snakeCase.d.ts +16 -0
- package/dist/types/string/snakeCase.d.ts.map +1 -0
- package/dist/types/string/startCase.d.ts +14 -0
- package/dist/types/string/startCase.d.ts.map +1 -0
- package/dist/types/string/template.d.ts +15 -0
- package/dist/types/string/template.d.ts.map +1 -0
- package/dist/types/string/truncateString.d.ts +13 -0
- package/dist/types/string/truncateString.d.ts.map +1 -0
- package/dist/types/string/words.d.ts +16 -0
- package/dist/types/string/words.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +44 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts +5 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/dist/types/validation/validateFileSizeByType.d.ts +32 -0
- package/dist/types/validation/validateFileSizeByType.d.ts.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatBytes.js","sources":["../../../src/string/formatBytes.ts"],"sourcesContent":["/**\n * Formats a byte count into a human-readable string.\n *\n * @example\n * formatBytes(0) // '0 B'\n * formatBytes(1024) // '1 KB'\n * formatBytes(1536, 1) // '1.5 KB'\n * formatBytes(1073741824) // '1 GB'\n * formatBytes(1234567890, 2) // '1.15 GB'\n *\n * @param bytes - Number of bytes\n * @param decimals - Decimal places (default: 2)\n * @returns Formatted string (e.g., '1.5 MB')\n */\nexport function formatBytes(bytes: number, decimals: number = 2): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const dm = Math.max(0, decimals);\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n}\n"],"names":["formatBytes","bytes","decimals","dm","Math","max","i","floor","log","parseFloat","pow","toFixed"],"mappings":"SAcgBA,EAAYC,EAAeC,EAAmB,GAC5D,GAAc,IAAVD,EAAa,MAAO,MACxB,MACME,EAAKC,KAAKC,IAAI,EAAGH,GAEjBI,EAAIF,KAAKG,MAAMH,KAAKI,IAAIP,GAASG,KAAKI,IAHlC,OAIV,MAAO,GAAGC,YAAYR,EAAQG,KAAKM,IAJzB,KAIgCJ,IAAIK,QAAQR,OAFxC,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,MAEwBG,IACtE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function o(o){if(o<1e3)return o>0?`${o}ms`:"0s";const h=Math.floor(o/1e3)%60,r=Math.floor(o/6e4)%60,t=Math.floor(o/36e5)%24,e=Math.floor(o/864e5),s=[];return e>0&&s.push(`${e}d`),t>0&&s.push(`${t}h`),r>0&&s.push(`${r}m`),h>0&&s.push(`${h}s`),s.join(" ")}export{o as formatDuration};
|
|
2
|
+
//# sourceMappingURL=formatDuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDuration.js","sources":["../../../src/string/formatDuration.ts"],"sourcesContent":["/**\n * Formats milliseconds into a human-readable duration string.\n *\n * @example\n * formatDuration(0) // '0s'\n * formatDuration(5000) // '5s'\n * formatDuration(65000) // '1m 5s'\n * formatDuration(3661000) // '1h 1m 1s'\n * formatDuration(90061000) // '1d 1h 1m 1s'\n *\n * @param ms - Duration in milliseconds\n * @returns Human-readable duration string\n */\nexport function formatDuration(ms: number): string {\n if (ms < 1000) return ms > 0 ? `${ms}ms` : '0s';\n\n const seconds = Math.floor(ms / 1000) % 60;\n const minutes = Math.floor(ms / 60000) % 60;\n const hours = Math.floor(ms / 3600000) % 24;\n const days = Math.floor(ms / 86400000);\n\n const parts: string[] = [];\n if (days > 0) parts.push(`${days}d`);\n if (hours > 0) parts.push(`${hours}h`);\n if (minutes > 0) parts.push(`${minutes}m`);\n if (seconds > 0) parts.push(`${seconds}s`);\n\n return parts.join(' ');\n}\n"],"names":["formatDuration","ms","seconds","Math","floor","minutes","hours","days","parts","push","join"],"mappings":"AAaM,SAAUA,EAAeC,GAC7B,GAAIA,EAAK,IAAM,OAAOA,EAAK,EAAI,GAAGA,MAAS,KAE3C,MAAMC,EAAUC,KAAKC,MAAMH,EAAK,KAAQ,GAClCI,EAAUF,KAAKC,MAAMH,EAAK,KAAS,GACnCK,EAAQH,KAAKC,MAAMH,EAAK,MAAW,GACnCM,EAAOJ,KAAKC,MAAMH,EAAK,OAEvBO,EAAkB,GAMxB,OALID,EAAO,GAAGC,EAAMC,KAAK,GAAGF,MACxBD,EAAQ,GAAGE,EAAMC,KAAK,GAAGH,MACzBD,EAAU,GAAGG,EAAMC,KAAK,GAAGJ,MAC3BH,EAAU,GAAGM,EAAMC,KAAK,GAAGP,MAExBM,EAAME,KAAK,IACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatNumber.js","sources":["../../../src/string/formatNumber.ts"],"sourcesContent":["/**\n * Formats a number or numeric string by adding thousands separators\n * according to the specified locale.\n *\n * If the value is not a number, returns the original string.\n *\n * @param {number | string} number - Number or string to format.\n * @param {string} [locale='en-US'] - Locale for formatting (e.g., 'en-US', 'ru-RU').\n * @returns {string} Formatted string with thousands separators or original value if not a number.\n *\n * @example\n * ```ts\n * formatNumber(1234567); // \"1,234,567\"\n * formatNumber(1234567, 'ru-RU'); // \"1 234 567\"\n * formatNumber(\"987654321\"); // \"987,654,321\"\n * formatNumber(\"abc\"); // \"abc\"\n * ```\n */\nexport const formatNumber = (\n number: number | string,\n locale: string = \"en-US\"\n): string => {\n const value = Number(number);\n\n if (!isNaN(value)) {\n return new Intl.NumberFormat(locale).format(value);\n }\n\n return String(number);\n};\n"],"names":["formatNumber","number","locale","value","Number","isNaN","String","Intl","NumberFormat","format"],"mappings":"AAkBO,MAAMA,EAAe,CAC1BC,EACAC,EAAiB,WAEjB,MAAMC,EAAQC,OAAOH,GAErB,OAAKI,MAAMF,GAIJG,OAAOL,GAHL,IAAIM,KAAKC,aAAaN,GAAQO,OAAON"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htmlToText.js","sources":["../../../src/string/htmlToText.ts"],"sourcesContent":["/**\n * Converts an HTML string into plain text by removing all HTML tags,\n * normalizing whitespace, and trimming extra spaces.\n *\n * If the input is empty or falsy, returns an empty string.\n *\n * @param {string} html - The HTML string to convert.\n * @returns {string} The plain text result.\n *\n * @example\n * const html = `\n * <h1>Добро пожаловать в <b>MBank</b></h1>\n * <p>Первый цифровой <a href=\"https://mbank.example\">банк</a> в стране.</p>\n * <ul>\n * <li>Онлайн-операции</li>\n * <li>Мобильное приложение</li>\n * <li>Безопасные переводы</li>\n * </ul>\n * `;\n *\n * const text = htmlToText(html);\n * console.log(text);\n * // Output:\n * // \"Добро пожаловать в MBank Первый цифровой банк в стране. Онлайн-операции Мобильное приложение Безопасные переводы\"\n *\n\n */\nexport function htmlToText(html: string): string {\n if (!html) return \"\";\n\n return html\n .replace(/<[^>]*>/g, \"\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n"],"names":["htmlToText","html","replace","trim"],"mappings":"AA2BM,SAAUA,EAAWC,GACzB,OAAKA,EAEEA,EACJC,QAAQ,WAAY,IACpBA,QAAQ,OAAQ,KAChBC,OALe,EAMpB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{capitalize}from"./capitalize.js";export{camelCase}from"./camelCase.js";export{deburr}from"./deburr.js";export{escapeHtml}from"./escapeHtml.js";export{escapeRegExp}from"./escapeRegExp.js";export{formatBytes}from"./formatBytes.js";export{formatDuration}from"./formatDuration.js";export{formatNumber}from"./formatNumber.js";export{htmlToText}from"./htmlToText.js";export{kebabCase}from"./kebabCase.js";export{maskString}from"./maskString.js";export{pascalCase}from"./pascalCase.js";export{pluralize}from"./pluralize.js";export{slugify}from"./slugify.js";export{snakeCase}from"./snakeCase.js";export{startCase}from"./startCase.js";export{template}from"./template.js";export{truncateString}from"./truncateString.js";export{words}from"./words.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kebabCase.js","sources":["../../../src/string/kebabCase.ts"],"sourcesContent":["import { words } from './words.js';\n\n/**\n * Converts a string to kebab-case.\n * Handles spaces, underscores, camelCase, and PascalCase.\n *\n * @example\n * kebabCase('helloWorld') // 'hello-world'\n * kebabCase('FOO_BAR') // 'foo-bar'\n * kebabCase('some string here') // 'some-string-here'\n * kebabCase('PascalCase') // 'pascal-case'\n * kebabCase('') // ''\n *\n * @param str - String to convert\n * @returns kebab-case string\n */\nexport function kebabCase(str: string): string {\n return words(str).join('-');\n}\n"],"names":["kebabCase","str","words","join"],"mappings":"mCAgBM,SAAUA,EAAUC,GACxB,OAAOC,EAAMD,GAAKE,KAAK,IACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maskString.js","sources":["../../../src/string/maskString.ts"],"sourcesContent":["/**\n * Masks a portion of a string, revealing only start and end characters.\n * Useful for credit cards, phone numbers, emails, API keys.\n *\n * @example\n * maskString('1234567890', 4, 2) // '1234****90'\n * maskString('hello@example.com', 2, 4) // 'he***********e.com'\n * maskString('secret', 0, 0) // '******'\n * maskString('ab', 1, 1, '#') // 'ab' (nothing to mask)\n *\n * @param str - String to mask\n * @param visibleStart - Number of visible chars at start\n * @param visibleEnd - Number of visible chars at end\n * @param maskChar - Character used for masking (default: '*')\n * @returns Masked string\n */\nexport function maskString(\n str: string,\n visibleStart: number,\n visibleEnd: number,\n maskChar: string = '*'\n): string {\n if (str.length <= visibleStart + visibleEnd) return str;\n const start = str.slice(0, visibleStart);\n const end = visibleEnd > 0 ? str.slice(-visibleEnd) : '';\n const maskLen = str.length - visibleStart - visibleEnd;\n return start + maskChar.repeat(maskLen) + end;\n}\n"],"names":["maskString","str","visibleStart","visibleEnd","maskChar","length","start","slice","end","maskLen","repeat"],"mappings":"AAgBM,SAAUA,EACdC,EACAC,EACAC,EACAC,EAAmB,KAEnB,GAAIH,EAAII,QAAUH,EAAeC,EAAY,OAAOF,EACpD,MAAMK,EAAQL,EAAIM,MAAM,EAAGL,GACrBM,EAAML,EAAa,EAAIF,EAAIM,OAAOJ,GAAc,GAChDM,EAAUR,EAAII,OAASH,EAAeC,EAC5C,OAAOG,EAAQF,EAASM,OAAOD,GAAWD,CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pascalCase.js","sources":["../../../src/string/pascalCase.ts"],"sourcesContent":["import { words } from './words.js';\n\n/**\n * Converts a string to PascalCase.\n *\n * @example\n * pascalCase('hello world') // 'HelloWorld'\n * pascalCase('foo-bar-baz') // 'FooBarBaz'\n * pascalCase('some_snake_case') // 'SomeSnakeCase'\n * pascalCase('') // ''\n *\n * @param str - String to convert\n * @returns PascalCase string\n */\nexport function pascalCase(str: string): string {\n return words(str)\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join('');\n}\n"],"names":["pascalCase","str","words","map","w","charAt","toUpperCase","slice","join"],"mappings":"mCAcM,SAAUA,EAAWC,GACzB,OAAOC,EAAMD,GACVE,IAAIC,GAAKA,EAAEC,OAAO,GAAGC,cAAgBF,EAAEG,MAAM,IAC7CC,KAAK,GACV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluralize.js","sources":["../../../src/string/pluralize.ts"],"sourcesContent":["/**\n * Returns singular or plural form based on count.\n *\n * @example\n * pluralize(0, 'item') // '0 items'\n * pluralize(1, 'item') // '1 item'\n * pluralize(5, 'item') // '5 items'\n * pluralize(2, 'child', 'children') // '2 children'\n * pluralize(1, 'person', 'people') // '1 person'\n *\n * @param count - The number\n * @param singular - Singular form\n * @param plural - Plural form (default: singular + 's')\n * @returns Formatted count + word\n */\nexport function pluralize(count: number, singular: string, plural?: string): string {\n const word = count === 1 ? singular : (plural ?? `${singular}s`);\n return `${count} ${word}`;\n}\n"],"names":["pluralize","count","singular","plural"],"mappings":"SAegBA,EAAUC,EAAeC,EAAkBC,GAEzD,MAAO,GAAGF,KADa,IAAVA,EAAcC,EAAYC,GAAU,GAAGD,MAEtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slugify.js","sources":["../../../src/string/slugify.ts"],"sourcesContent":["/**\n * Converts a string to a URL-friendly slug.\n * Lowercases, replaces non-alphanumeric chars with hyphens, trims hyphens.\n *\n * @example\n * slugify('Hello World!') // 'hello-world'\n * slugify(' Crème Brûlée ') // 'cr-me-br-l-e'\n * slugify('foo---bar') // 'foo-bar'\n * slugify('') // ''\n *\n * @param str - String to slugify\n * @returns URL-safe slug\n */\nexport function slugify(str: string): string {\n return str\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n}\n"],"names":["slugify","str","normalize","replace","toLowerCase"],"mappings":"AAaM,SAAUA,EAAQC,GACtB,OAAOA,EACJC,UAAU,OACVC,QAAQ,mBAAoB,IAC5BC,cACAD,QAAQ,cAAe,KACvBA,QAAQ,WAAY,GACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snakeCase.js","sources":["../../../src/string/snakeCase.ts"],"sourcesContent":["import { words } from './words.js';\n\n/**\n * Converts a string to snake_case.\n * Handles spaces, hyphens, camelCase, and PascalCase.\n *\n * @example\n * snakeCase('helloWorld') // 'hello_world'\n * snakeCase('foo-bar-baz') // 'foo_bar_baz'\n * snakeCase('Some String Here') // 'some_string_here'\n * snakeCase('PascalCase') // 'pascal_case'\n * snakeCase('') // ''\n *\n * @param str - String to convert\n * @returns snake_case string\n */\nexport function snakeCase(str: string): string {\n return words(str).join('_');\n}\n"],"names":["snakeCase","str","words","join"],"mappings":"mCAgBM,SAAUA,EAAUC,GACxB,OAAOC,EAAMD,GAAKE,KAAK,IACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startCase.js","sources":["../../../src/string/startCase.ts"],"sourcesContent":["import { words } from './words.js';\n\n/**\n * Converts a string to Start Case (each word capitalized, separated by spaces).\n *\n * @example\n * startCase('hello world') // 'Hello World'\n * startCase('fooBarBaz') // 'Foo Bar Baz'\n * startCase('some_snake_case') // 'Some Snake Case'\n * startCase('') // ''\n *\n * @param str - String to convert\n * @returns Start Case string\n */\nexport function startCase(str: string): string {\n return words(str)\n .map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())\n .join(' ');\n}\n"],"names":["startCase","str","words","map","w","charAt","toUpperCase","slice","toLowerCase","join"],"mappings":"mCAcM,SAAUA,EAAUC,GACxB,OAAOC,EAAMD,GACVE,IAAIC,GAAKA,EAAEC,OAAO,GAAGC,cAAgBF,EAAEG,MAAM,GAAGC,eAChDC,KAAK,IACV"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sources":["../../../src/string/template.ts"],"sourcesContent":["/**\n * Simple string template interpolation using `{{key}}` placeholders.\n *\n * @example\n * template('Hello, {{name}}!', { name: 'World' }) // 'Hello, World!'\n * template('{{a}} + {{b}} = {{c}}', { a: 1, b: 2, c: 3 }) // '1 + 2 = 3'\n * template('Hi <name>', { name: 'Ray' }, /<(.+?)>/g) // 'Hi Ray'\n *\n * @param str - Template string\n * @param data - Object with replacement values\n * @param regex - Custom pattern (default: /\\{\\{(.+?)\\}\\}/g)\n * @returns Interpolated string\n */\nexport function template(\n str: string,\n data: Record<string, any>,\n regex: RegExp = /\\{\\{(.+?)\\}\\}/g\n): string {\n return str.replace(regex, (_, key) => {\n const value = data[key.trim()];\n return value !== undefined && value !== null ? String(value) : '';\n });\n}\n"],"names":["template","str","data","regex","replace","_","key","value","trim","String"],"mappings":"AAaM,SAAUA,EACdC,EACAC,EACAC,EAAgB,kBAEhB,OAAOF,EAAIG,QAAQD,EAAO,CAACE,EAAGC,KAC5B,MAAMC,EAAQL,EAAKI,EAAIE,QACvB,OAAOD,QAAwCE,OAAOF,GAAS,IAEnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateString.js","sources":["../../../src/string/truncateString.ts"],"sourcesContent":["/**\n * Truncates a string to a specified maximum length and adds an ellipsis (`...`) if truncated.\n *\n * @example\n * truncateString(\"Hello, world!\", 5) // \"Hello...\"\n * truncateString(\"Short\", 10) // \"Short\"\n *\n * @param str - The string to truncate\n * @param maxLength - Maximum length of the returned string\n * @returns The truncated string with ellipsis if needed, otherwise the original string\n */\nexport function truncateString(str: string, maxLength: number): string {\n if (str.length > maxLength) {\n return str.substring(0, maxLength) + \"...\";\n }\n return str;\n}\n"],"names":["truncateString","str","maxLength","length","substring"],"mappings":"AAWM,SAAUA,EAAeC,EAAaC,GAC1C,OAAID,EAAIE,OAASD,EACRD,EAAIG,UAAU,EAAGF,GAAa,MAEhCD,CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"words.js","sources":["../../../src/string/words.ts"],"sourcesContent":["/**\n * Splits a string into an array of words.\n * Handles spaces, hyphens, underscores, camelCase, and PascalCase boundaries.\n *\n * @example\n * words('helloWorld') // ['hello', 'world']\n * words('foo-bar_baz') // ['foo', 'bar', 'baz']\n * words('FOO_BAR') // ['foo', 'bar']\n * words('PascalCase') // ['pascal', 'case']\n * words('') // []\n *\n * @param str - String to split\n * @returns Array of lowercase words\n */\nexport function words(str: string): string[] {\n if (!str) return [];\n\n return str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')\n .trim()\n .toLowerCase()\n .split(/\\s+/);\n}\n"],"names":["words","str","replace","trim","toLowerCase","split"],"mappings":"AAcM,SAAUA,EAAMC,GACpB,OAAKA,EAEEA,EACJC,QAAQ,iBAAkB,KAC1BA,QAAQ,kBAAmB,SAC3BA,QAAQ,wBAAyB,SACjCC,OACAC,cACAC,MAAM,OARQ,EASnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,i,t,s){const o=t??(e=>e.type.startsWith("image/")?"image":e.type.startsWith("video/")?"video":"document"),r=o(e),d=i[r],a=e.size/1048576;if(void 0!==d&&a>d){return{isValid:!1,errorMessage:s??`File exceeds the limit of ${d} MB for ${r}.`,size:(e=>e.toFixed(2))(a)}}return{isValid:!0}}export{e as validateFileSize};
|
|
2
|
+
//# sourceMappingURL=validateFileSizeByType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateFileSizeByType.js","sources":["../../../src/validation/validateFileSizeByType.ts"],"sourcesContent":["/**\n * Validates the size of a file based on its type/category.\n * Returns an object indicating whether the file is valid and an optional error message.\n *\n * By default, supports three categories: 'image', 'video', 'document'.\n * You can provide a custom category resolver to extend support for other types.\n *\n * @param {File} file - The file to validate.\n * @param {Record<string, number>} sizeLimits - Maximum allowed sizes for each category in MB.\n * @param {(file: File) => string} [resolveCategory] - Optional function to determine the file's category.\n * @returns {{ isValid: boolean; errorMessage?: string }} Result of the validation.\n *\n * @example\n * const sizeLimits = { image: 5, video: 50, document: 10 };\n * const result = validateFileSize(fileInput.files[0], sizeLimits);\n * if (!result.isValid) {\n * console.error(result.errorMessage);\n * }\n *\n * @example\n * // Custom category resolver\n * const result = validateFileSize(file, { audio: 10, other: 5 }, file => {\n * if (file.type.startsWith('audio/')) return 'audio';\n * return 'other';\n * });\n */\nexport function validateFileSize(\n file: File,\n sizeLimits: Record<string, number>,\n resolveCategory?: (file: File) => string,\n error?: string\n): { isValid: boolean; errorMessage?: string; size?: string } {\n const categoryResolver =\n resolveCategory ??\n ((file: File) => {\n if (file.type.startsWith(\"image/\")) return \"image\";\n if (file.type.startsWith(\"video/\")) return \"video\";\n return \"document\";\n });\n\n const category = categoryResolver(file);\n const limitMB = sizeLimits[category];\n const fileSizeMB = file.size / (1024 * 1024);\n\n if (limitMB !== undefined && fileSizeMB > limitMB) {\n const formatSize = (size: number) => size.toFixed(2);\n return {\n isValid: false,\n errorMessage:\n error ?? `File exceeds the limit of ${limitMB} MB for ${category}.`,\n size: formatSize(fileSizeMB),\n };\n }\n\n return { isValid: true };\n}\n"],"names":["validateFileSize","file","sizeLimits","resolveCategory","error","categoryResolver","type","startsWith","category","limitMB","fileSizeMB","size","undefined","isValid","errorMessage","toFixed","formatSize"],"mappings":"AA0BM,SAAUA,EACdC,EACAC,EACAC,EACAC,GAEA,MAAMC,EACJF,IACEF,GACIA,EAAKK,KAAKC,WAAW,UAAkB,QACvCN,EAAKK,KAAKC,WAAW,UAAkB,QACpC,YAGLC,EAAWH,EAAiBJ,GAC5BQ,EAAUP,EAAWM,GACrBE,EAAaT,EAAKU,KAAI,QAE5B,QAAgBC,IAAZH,GAAyBC,EAAaD,EAAS,CAEjD,MAAO,CACLI,SAAS,EACTC,aACEV,GAAS,6BAA6BK,YAAkBD,KAC1DG,KALiB,CAACA,GAAiBA,EAAKI,QAAQ,GAK1CC,CAAWN,GAErB,CAEA,MAAO,CAAEG,SAAS,EACpB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if a value exists for a given key in any object within an array.
|
|
3
|
+
*
|
|
4
|
+
* Iterates over the array of objects and returns `true` if **any** object
|
|
5
|
+
* has the specified key and its value strictly equals the provided value.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const users = [
|
|
9
|
+
* { id: '1', name: 'Alice' },
|
|
10
|
+
* { id: '2', name: 'Bob' }
|
|
11
|
+
* ];
|
|
12
|
+
*
|
|
13
|
+
* checkValueInArray(users, 'name', 'Alice') // true
|
|
14
|
+
* checkValueInArray(users, 'id', '3') // false
|
|
15
|
+
*
|
|
16
|
+
* @template T - The type of objects in the array
|
|
17
|
+
* @param {T[]} array - Array of objects to check
|
|
18
|
+
* @param {keyof T} key - Key to check in each object
|
|
19
|
+
* @param {T[keyof T]} value - Value to compare against
|
|
20
|
+
* @returns {boolean} `true` if at least one object has the key with the given value, otherwise `false`
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkValueInArray<T>(array: T[], key: keyof T, value: T[keyof T]): boolean;
|
|
23
|
+
//# sourceMappingURL=checkValueInArray.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkValueInArray.d.ts","sourceRoot":"","sources":["../../../src/array/checkValueInArray.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,MAAM,CAAC,EACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAChB,OAAO,CAOT"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits an array into groups of the specified size.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* chunk([1, 2, 3, 4, 5], 2) // [[1, 2], [3, 4], [5]]
|
|
6
|
+
* chunk([1, 2, 3], 1) // [[1], [2], [3]]
|
|
7
|
+
* chunk([], 3) // []
|
|
8
|
+
*
|
|
9
|
+
* @param arr - Array to split
|
|
10
|
+
* @param size - Size of each chunk (must be > 0)
|
|
11
|
+
* @returns Array of chunks
|
|
12
|
+
* @throws {Error} If size is less than 1
|
|
13
|
+
*/
|
|
14
|
+
export declare function chunk<T>(arr: readonly T[], size: number): T[][];
|
|
15
|
+
//# sourceMappingURL=chunk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk.d.ts","sourceRoot":"","sources":["../../../src/array/chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAU/D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a list into sub-lists based on a key returned from each item.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* const result = collectBy(
|
|
6
|
+
* [
|
|
7
|
+
* { type: 'breakfast', item: '☕️' },
|
|
8
|
+
* { type: 'lunch', item: '🌯' },
|
|
9
|
+
* { type: 'dinner', item: '🍝' },
|
|
10
|
+
* { type: 'breakfast', item: '🥐' },
|
|
11
|
+
* { type: 'lunch', item: '🍕' }
|
|
12
|
+
* ],
|
|
13
|
+
* (item) => item.type
|
|
14
|
+
* );
|
|
15
|
+
*
|
|
16
|
+
* @param list Array of items
|
|
17
|
+
* @param fn Function that extracts a key from each item
|
|
18
|
+
* @returns Array of groups, each group containing items with same key
|
|
19
|
+
*/
|
|
20
|
+
export declare function collectBy<T, K extends string | number | symbol>(list: T[], fn: (item: T) => K): T[][];
|
|
21
|
+
//# sourceMappingURL=collectBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectBy.d.ts","sourceRoot":"","sources":["../../../src/array/collectBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7D,IAAI,EAAE,CAAC,EAAE,EACT,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,EAAE,EAAE,CAcP"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Removes all falsy values (false, null, 0, '', undefined, NaN) from an array.
|
|
3
|
+
* Returns a properly narrowed type excluding falsy values.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* compact([0, 1, false, 2, '', 3, null, undefined, NaN])
|
|
7
|
+
* // [1, 2, 3]
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* compact(['hello', '', 'world', null])
|
|
11
|
+
* // ['hello', 'world']
|
|
12
|
+
*
|
|
13
|
+
* @param arr - Array to compact
|
|
14
|
+
* @returns New array without falsy values
|
|
15
|
+
*/
|
|
16
|
+
type Falsy = false | null | undefined | 0 | '' | 0n;
|
|
17
|
+
export declare function compact<T>(arr: readonly (T | Falsy)[]): Exclude<T, Falsy>[];
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=compact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/array/compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpD,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAE3E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Counts occurrences of each item based on a transformation function.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* countBy(['a', 'b', 'a', 'c', 'b', 'a'], x => x) // { a: 3, b: 2, c: 1 }
|
|
6
|
+
* countBy([1, 2, 3, 4, 5], x => x % 2 === 0 ? 'even' : 'odd') // { odd: 3, even: 2 }
|
|
7
|
+
*
|
|
8
|
+
* @param arr - Array to count
|
|
9
|
+
* @param fn - Function that returns the group key for each item
|
|
10
|
+
* @returns Object with keys and their counts
|
|
11
|
+
*/
|
|
12
|
+
export declare function countBy<T>(arr: readonly T[], fn: (item: T) => string | number): Record<string, number>;
|
|
13
|
+
//# sourceMappingURL=countBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countBy.d.ts","sourceRoot":"","sources":["../../../src/array/countBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,GAAG,EAAE,SAAS,CAAC,EAAE,EACjB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns elements from the first array that are not in the second array.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* difference([1, 2, 3, 4], [2, 4]) // [1, 3]
|
|
6
|
+
* difference(['a', 'b', 'c'], ['b']) // ['a', 'c']
|
|
7
|
+
* difference([1, 2], [1, 2]) // []
|
|
8
|
+
*
|
|
9
|
+
* @param arr1 - Source array
|
|
10
|
+
* @param arr2 - Array of elements to exclude
|
|
11
|
+
* @returns Array of elements only in arr1
|
|
12
|
+
*/
|
|
13
|
+
export declare function difference<T>(arr1: readonly T[], arr2: readonly T[]): T[];
|
|
14
|
+
//# sourceMappingURL=difference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"difference.d.ts","sourceRoot":"","sources":["../../../src/array/difference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAGzE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns all but the first n elements of an array.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* drop([1, 2, 3, 4, 5], 2) // [3, 4, 5]
|
|
6
|
+
* drop([1, 2], 5) // []
|
|
7
|
+
* drop([], 3) // []
|
|
8
|
+
*
|
|
9
|
+
* @param arr - Source array
|
|
10
|
+
* @param n - Number of elements to drop
|
|
11
|
+
* @returns New array without the first n elements
|
|
12
|
+
*/
|
|
13
|
+
export declare function drop<T>(arr: readonly T[], n: number): T[];
|
|
14
|
+
//# sourceMappingURL=drop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../src/array/drop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAEzD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drops leading elements while predicate returns true, returns the rest.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* dropWhile([1, 2, 3, 4, 1], x => x < 3) // [3, 4, 1]
|
|
6
|
+
* dropWhile([5, 4, 3], x => x > 3) // [3]
|
|
7
|
+
*
|
|
8
|
+
* @param arr - Source array
|
|
9
|
+
* @param fn - Predicate function
|
|
10
|
+
* @returns New array without leading elements that pass the predicate
|
|
11
|
+
*/
|
|
12
|
+
export declare function dropWhile<T>(arr: readonly T[], fn: (item: T, index: number) => boolean): T[];
|
|
13
|
+
//# sourceMappingURL=dropWhile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropWhile.d.ts","sourceRoot":"","sources":["../../../src/array/dropWhile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE,CAG5F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the first element of an array, or undefined if empty.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* first([1, 2, 3]) // 1
|
|
6
|
+
* first([]) // undefined
|
|
7
|
+
* first(['a', 'b']) // 'a'
|
|
8
|
+
*
|
|
9
|
+
* @param arr - Source array
|
|
10
|
+
* @returns First element or undefined
|
|
11
|
+
*/
|
|
12
|
+
export declare function first<T>(arr: readonly T[]): T | undefined;
|
|
13
|
+
//# sourceMappingURL=first.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first.d.ts","sourceRoot":"","sources":["../../../src/array/first.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAEzD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flattens a nested array by one level.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* flatten([[1, 2], [3, 4], [5]]) // [1, 2, 3, 4, 5]
|
|
6
|
+
* flatten([[1, [2]], [3]]) // [1, [2], 3]
|
|
7
|
+
* flatten([]) // []
|
|
8
|
+
*
|
|
9
|
+
* @param arr - Nested array to flatten
|
|
10
|
+
* @returns Flattened array (one level)
|
|
11
|
+
*/
|
|
12
|
+
export declare function flatten<T>(arr: readonly (T | readonly T[])[]): T[];
|
|
13
|
+
//# sourceMappingURL=flatten.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../../src/array/flatten.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAElE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Groups array elements by the result of a function.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* groupBy([1, 2, 3, 4], x => x % 2 === 0 ? 'even' : 'odd')
|
|
6
|
+
* // { odd: [1, 3], even: [2, 4] }
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* groupBy([{ type: 'a' }, { type: 'b' }, { type: 'a' }], x => x.type)
|
|
10
|
+
* // { a: [{ type: 'a' }, { type: 'a' }], b: [{ type: 'b' }] }
|
|
11
|
+
*
|
|
12
|
+
* @param list - Array to group
|
|
13
|
+
* @param fn - Function to determine group key
|
|
14
|
+
* @returns Object with grouped arrays
|
|
15
|
+
*/
|
|
16
|
+
export declare function groupBy<T>(list: T[], fn: (item: T) => string): Record<string, T[]>;
|
|
17
|
+
//# sourceMappingURL=groupBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupBy.d.ts","sourceRoot":"","sources":["../../../src/array/groupBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EAAE,EACT,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAYrB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { chunk } from './chunk.js';
|
|
2
|
+
export { compact } from './compact.js';
|
|
3
|
+
export { countBy } from './countBy.js';
|
|
4
|
+
export { difference } from './difference.js';
|
|
5
|
+
export { drop } from './drop.js';
|
|
6
|
+
export { dropWhile } from './dropWhile.js';
|
|
7
|
+
export { first } from './first.js';
|
|
8
|
+
export { flatten } from './flatten.js';
|
|
9
|
+
export { groupBy } from './groupBy.js';
|
|
10
|
+
export { intersection } from './intersection.js';
|
|
11
|
+
export { keyBy } from './keyBy.js';
|
|
12
|
+
export { last } from './last.js';
|
|
13
|
+
export { maxBy } from './maxBy.js';
|
|
14
|
+
export { minBy } from './minBy.js';
|
|
15
|
+
export { partition } from './partition.js';
|
|
16
|
+
export { sample } from './sample.js';
|
|
17
|
+
export { shuffle } from './shuffle.js';
|
|
18
|
+
export { sortBy } from './sortBy.js';
|
|
19
|
+
export { take } from './take.js';
|
|
20
|
+
export { takeWhile } from './takeWhile.js';
|
|
21
|
+
export { union } from './union.js';
|
|
22
|
+
export { uniq } from './uniq.js';
|
|
23
|
+
export { uniqBy } from './uniqBy.js';
|
|
24
|
+
export { without } from './without.js';
|
|
25
|
+
export { xor } from './xor.js';
|
|
26
|
+
export { zip } from './zip.js';
|
|
27
|
+
export { zipObject } from './zipObject.js';
|
|
28
|
+
export { collectBy } from './collectBy.js';
|
|
29
|
+
export { checkValueInArray } from './checkValueInArray.js';
|
|
30
|
+
export { sameElementsInArrays } from './sameElementsInArrays.js';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns elements that exist in both arrays.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* intersection([1, 2, 3], [2, 3, 4]) // [2, 3]
|
|
6
|
+
* intersection(['a', 'b'], ['b', 'c']) // ['b']
|
|
7
|
+
* intersection([1, 2], [3, 4]) // []
|
|
8
|
+
*
|
|
9
|
+
* @param arr1 - First array
|
|
10
|
+
* @param arr2 - Second array
|
|
11
|
+
* @returns Array of common elements
|
|
12
|
+
*/
|
|
13
|
+
export declare function intersection<T>(arr1: readonly T[], arr2: readonly T[]): T[];
|
|
14
|
+
//# sourceMappingURL=intersection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../src/array/intersection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAG3E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an object composed of keys generated from the results of running
|
|
3
|
+
* each element through the iteratee. The value of each key is the last
|
|
4
|
+
* element responsible for generating the key.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* keyBy([{ id: 'a1', name: 'Alice' }, { id: 'b2', name: 'Bob' }], item => item.id)
|
|
8
|
+
* // { a1: { id: 'a1', name: 'Alice' }, b2: { id: 'b2', name: 'Bob' } }
|
|
9
|
+
*
|
|
10
|
+
* @param arr - Array to index
|
|
11
|
+
* @param fn - Function that returns the key for each element
|
|
12
|
+
* @returns Object indexed by the generated keys
|
|
13
|
+
*/
|
|
14
|
+
export declare function keyBy<T>(arr: readonly T[], fn: (item: T) => string | number): Record<string | number, T>;
|
|
15
|
+
//# sourceMappingURL=keyBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyBy.d.ts","sourceRoot":"","sources":["../../../src/array/keyBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,GAAG,EAAE,SAAS,CAAC,EAAE,EACjB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAM5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the last element of an array, or undefined if empty.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* last([1, 2, 3]) // 3
|
|
6
|
+
* last([]) // undefined
|
|
7
|
+
* last(['a', 'b']) // 'b'
|
|
8
|
+
*
|
|
9
|
+
* @param arr - Source array
|
|
10
|
+
* @returns Last element or undefined
|
|
11
|
+
*/
|
|
12
|
+
export declare function last<T>(arr: readonly T[]): T | undefined;
|
|
13
|
+
//# sourceMappingURL=last.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../../src/array/last.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAExD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the element with the maximum value as determined by a function.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* maxBy([{ age: 30 }, { age: 20 }, { age: 25 }], x => x.age) // { age: 30 }
|
|
6
|
+
* maxBy([], x => x) // undefined
|
|
7
|
+
*
|
|
8
|
+
* @param arr - Array to search
|
|
9
|
+
* @param fn - Function that returns a numeric value for comparison
|
|
10
|
+
* @returns Element with the maximum value, or undefined if empty
|
|
11
|
+
*/
|
|
12
|
+
export declare function maxBy<T>(arr: readonly T[], fn: (item: T) => number): T | undefined;
|
|
13
|
+
//# sourceMappingURL=maxBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maxBy.d.ts","sourceRoot":"","sources":["../../../src/array/maxBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,SAAS,CAYlF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the element with the minimum value as determined by a function.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* minBy([{ age: 30 }, { age: 20 }, { age: 25 }], x => x.age) // { age: 20 }
|
|
6
|
+
* minBy([], x => x) // undefined
|
|
7
|
+
*
|
|
8
|
+
* @param arr - Array to search
|
|
9
|
+
* @param fn - Function that returns a numeric value for comparison
|
|
10
|
+
* @returns Element with the minimum value, or undefined if empty
|
|
11
|
+
*/
|
|
12
|
+
export declare function minBy<T>(arr: readonly T[], fn: (item: T) => number): T | undefined;
|
|
13
|
+
//# sourceMappingURL=minBy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minBy.d.ts","sourceRoot":"","sources":["../../../src/array/minBy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,SAAS,CAYlF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Predicate } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Partitions an array into two arrays based on a predicate.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* partition([1, 2, 3, 4], x => x > 2) // [[3, 4], [1, 2]]
|
|
7
|
+
*
|
|
8
|
+
* @param list - Array to partition
|
|
9
|
+
* @param predicate - Function to test each element
|
|
10
|
+
* @returns Tuple of [passed, failed] arrays
|
|
11
|
+
*/
|
|
12
|
+
export declare function partition<T>(list: T[], predicate: Predicate<T>): [T[], T[]];
|
|
13
|
+
//# sourceMappingURL=partition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../../../src/array/partition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAa3E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds the first element that exists in all provided arrays.
|
|
3
|
+
*
|
|
4
|
+
* Works with any type (numbers, strings, booleans, etc.).
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* sameElementInMultipleArrays([1, 2, 3], [3, 4, 5], [3, 6]) // 3
|
|
8
|
+
* sameElementInMultipleArrays(['a', 'b'], ['b', 'c'], ['b', 'd']) // 'b'
|
|
9
|
+
* sameElementInMultipleArrays([1, 2], [3, 4]) // null
|
|
10
|
+
*
|
|
11
|
+
* @param {...T[][]} arrays - Two or more arrays to check
|
|
12
|
+
* @returns {T | null} The first element found in all arrays, or `null` if none found
|
|
13
|
+
*/
|
|
14
|
+
export declare const sameElementsInArrays: <T>(...arrays: T[][]) => T | null;
|
|
15
|
+
//# sourceMappingURL=sameElementsInArrays.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sameElementsInArrays.d.ts","sourceRoot":"","sources":["../../../src/array/sameElementsInArrays.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,KAAG,CAAC,GAAG,IAK9D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a random element from an array.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* sample([1, 2, 3, 4, 5]) // random element
|
|
6
|
+
* sample(['a', 'b', 'c']) // random element
|
|
7
|
+
*
|
|
8
|
+
* @param arr - Source array
|
|
9
|
+
* @returns Random element, or undefined if empty
|
|
10
|
+
*/
|
|
11
|
+
export declare function sample<T>(arr: readonly T[]): T | undefined;
|
|
12
|
+
//# sourceMappingURL=sample.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../../src/array/sample.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAG1D"}
|