mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
/*
|
|
* Copyright © 2024 Hexastack. All rights reserved.
|
|
*
|
|
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
|
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
|
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
|
*/
|
|
|
|
export const isEmpty = (value: string): boolean => {
|
|
return value === undefined || value === null || value === '';
|
|
};
|
|
|
|
export const hyphenToUnderscore = (str: string) => {
|
|
return str.replaceAll('-', '_');
|
|
};
|
|
|
|
export const kebabCase = (input: string): string => {
|
|
return input
|
|
.replace(/([a-z])([A-Z])/g, '$1-$2') // Add a dash between lowercase and uppercase letters
|
|
.replace(/[\s_]+/g, '-') // Replace spaces and underscores with a dash
|
|
.toLowerCase(); // Convert the entire string to lowercase
|
|
};
|
|
|
|
export const camelCase = (input: string): string => {
|
|
return input
|
|
.replace(/[-_\s]+(.)?/g, (_, char) => (char ? char.toUpperCase() : '')) // Replace dashes, underscores, and spaces, capitalizing the following letter
|
|
.replace(/^./, (char) => char.toLowerCase()); // Ensure the first character is lowercase
|
|
};
|
|
|
|
export const upperFirst = (input: string): string => {
|
|
if (!input) return input; // Return as is if the input is empty
|
|
return input.charAt(0).toUpperCase() + input.slice(1);
|
|
};
|