stringHelpers.ts 863 B

12345678910111213141516171819202122232425262728293031
  1. export function capitalize(str: string): string {
  2. if (str.length === 0) return str;
  3. return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
  4. }
  5. export function titleCase(str: string): string {
  6. return str
  7. .replace(/([A-Z])/g, " $1")
  8. .split(/[-_\s+.]/)
  9. .filter((word) => word.length > 0)
  10. .map(capitalize)
  11. .join(" ");
  12. }
  13. export function pascalCase(str: string): string {
  14. return titleCase(str).split(" ").join("");
  15. }
  16. export function camelCase(str: string): string {
  17. if (str.length === 0) return str;
  18. const pascalStr = pascalCase(str);
  19. return pascalStr.charAt(0).toLowerCase() + pascalStr.slice(1);
  20. }
  21. export function kebabCase(str: string): string {
  22. return titleCase(str).split(" ").join("-").toLowerCase();
  23. }
  24. export function snakeCase(str: string): string {
  25. return titleCase(str).split(" ").join("_").toLowerCase();
  26. }