@expressots/cli
Version:
Expressots CLI - modern, fast, lightweight nodejs web framework (@cli)
72 lines (71 loc) • 2.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.anyCaseToLowerCase = exports.anyCaseToUpperCase = exports.anyCaseToSnakeCase = exports.anyCaseToPascalCase = exports.anyCaseToKebabCase = exports.anyCaseToCamelCase = void 0;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to camelCase.
* @param str - The input string to be converted.
* @returns The converted string in camelCase.
*/
function anyCaseToCamelCase(str) {
return str
.replace(/[-_]+(.)?/g, (_, char) => (char ? char.toUpperCase() : ""))
.replace(/^[A-Z]/, (char) => char.toLowerCase());
}
exports.anyCaseToCamelCase = anyCaseToCamelCase;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to kebab-case.
* @param str - The input string to be converted.
* @returns The converted string in kebab-case.
*/
function anyCaseToKebabCase(str) {
return str
.replace(/([a-z0-9])([A-Z])/g, "$1-$2") // Convert camelCase and PascalCase to kebab-case
.replace(/_/g, "-") // Convert snake_case to kebab-case
.toLowerCase(); // Ensure all characters are lowercase
}
exports.anyCaseToKebabCase = anyCaseToKebabCase;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to PascalCase.
* @param str - The input string to be converted.
* @returns The converted string in PascalCase.
*/
function anyCaseToPascalCase(str) {
return str
.replace(/[-_]+(.)?/g, (_, char) => (char ? char.toUpperCase() : ""))
.replace(/^[a-z]/, (char) => char.toUpperCase());
}
exports.anyCaseToPascalCase = anyCaseToPascalCase;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to snake_case.
* @param str - The input string to be converted.
* @returns The converted string in snake_case.
*/
function anyCaseToSnakeCase(str) {
return str
.replace(/([a-z0-9])([A-Z])/g, "$1_$2")
.replace(/[-]+/g, "_")
.toLowerCase();
}
exports.anyCaseToSnakeCase = anyCaseToSnakeCase;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to UPPER CASE.
* @param str - The input string to be converted.
* @returns The converted string in UPPER CASE.
*/
function anyCaseToUpperCase(str) {
return str
.replace(/[-_]+(.)?/g, (_, char) => (char ? char.toUpperCase() : ""))
.toUpperCase();
}
exports.anyCaseToUpperCase = anyCaseToUpperCase;
/**
* Converts a string from any case (camelCase, PascalCase, kebab-case, snake_case) to lower case.
* @param str - The input string to be converted.
* @returns The converted string in lower case.
*/
function anyCaseToLowerCase(str) {
return str
.replace(/[-_]+(.)?/g, (_, char) => (char ? char.toLowerCase() : ""))
.toLowerCase();
}
exports.anyCaseToLowerCase = anyCaseToLowerCase;