UNPKG

@kloudlite/design-system

Version:

A design system for building ambitious products.

41 lines (40 loc) 980 B
// 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 };