@kloudlite/design-system
Version:
A design system for building ambitious products.
41 lines (40 loc) • 980 B
JavaScript
// components/utils.tsx
import classNames from "classnames";
import { useMemo } from "react";
import { v4 } from "uuid";
var cn = (...props) => {
return classNames(...props);
};
var _false = false;
function mapper(array, transform) {
let _;
return array.map(transform);
}
function useMapper(array, transform) {
return useMemo(() => array.map(transform), [array]);
}
function useAppend(arrayA, arrayB) {
return useMemo(() => [...arrayA, ...arrayB], [arrayA, arrayB]);
}
function useSort(array, transform) {
return useMemo(() => array.sort(transform), [array, transform]);
}
function titleCase(string) {
if (!string)
return string;
if (typeof string !== "string")
throw Error(`Cannot titleCase ${string}: Cause it is not string.`);
return string.charAt(0).toUpperCase() + string.slice(1);
}
var generateKey = (...items) => items.join("-");
export {
_false,
cn,
generateKey,
mapper,
titleCase,
useAppend,
useMapper,
useSort,
v4 as uuid
};