UNPKG

create-snippet

Version:
224 lines (223 loc) 8.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModuleString = void 0; class ModuleString { toCamelCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); const array = stringInKebabCase.split('-'); const firstWord = array[0]; const otherWord = array.map((item, index) => { if (index > 0) { return `${item[0].toUpperCase()}${item.substring(1)}`; } }); return `${firstWord}${otherWord.join('')}`; } toUpperSnakeCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); const array = stringInKebabCase.split('-'); const string = array.map((item) => item.toUpperCase()); return string.join('_'); } toLowerSnakeCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); const array = stringInKebabCase.split('-'); const string = array.map((item) => item.toLowerCase()); return string.join('_'); } toUpperKebabCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); return stringInKebabCase.toUpperCase(); } toLowerKebabCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); return stringInKebabCase.toLowerCase(); } toPascalCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; const stringInKebabCase = this.anyCaseToKebabCase(stringInAnyCase); const array = stringInKebabCase.split('-'); const firstWord = `${array[0][0].toUpperCase()}${array[0].substring(1)}`; const otherWord = array.map((item, index) => { if (index > 0) { return `${item[0].toUpperCase()}${item.substring(1)}`; } }); return `${firstWord}${otherWord.join('')}`; } toLowerCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; return stringInAnyCase.toLowerCase(); } toUpperCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return ''; return stringInAnyCase.toUpperCase(); } isFirstLetterUpperCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return (stringInAnyCase.charAt(0).toUpperCase() === stringInAnyCase.charAt(0)); } isFirstLetterLowerCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return (stringInAnyCase.charAt(0).toLowerCase() === stringInAnyCase.charAt(0)); } isStringContainsDash(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return stringInAnyCase.search(/-/g) > 0; } isStringContainsUnderlining(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return stringInAnyCase.search(/_/g) > 0; } isStringUpperCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return stringInAnyCase.toUpperCase() === stringInAnyCase; } isStringLowerCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; return stringInAnyCase.toLowerCase() === stringInAnyCase; } isLowerCase(stringInAnyCase) { return stringInAnyCase.toLowerCase() === stringInAnyCase; } isUpperCase(stringInAnyCase) { return stringInAnyCase.toUpperCase() === stringInAnyCase; } isCamelCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isFirstLetterUpperCase(stringInAnyCase)) return false; if (this.isStringContainsDash(stringInAnyCase)) return false; if (this.isStringContainsUnderlining(stringInAnyCase)) return false; if (this.isStringUpperCase(stringInAnyCase)) return false; return true; } isPascalCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isFirstLetterLowerCase(stringInAnyCase)) return false; if (this.isStringContainsDash(stringInAnyCase)) return false; if (this.isStringContainsUnderlining(stringInAnyCase)) return false; if (this.isStringUpperCase(stringInAnyCase)) return false; return true; } isUpperSnakeCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isStringUpperCase(stringInAnyCase) && this.isStringContainsUnderlining(stringInAnyCase)) { return true; } return false; } isLowerSnakeCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isStringLowerCase(stringInAnyCase) && this.isStringContainsUnderlining(stringInAnyCase)) { return true; } return false; } isUpperKebabCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isStringUpperCase(stringInAnyCase) && this.isStringContainsDash(stringInAnyCase)) { return true; } return false; } isLowerKebabCase(stringInAnyCase) { if (stringInAnyCase.length === 0) return false; if (this.isStringLowerCase(stringInAnyCase) && this.isStringContainsDash(stringInAnyCase)) { return true; } return false; } anyCaseToKebabCase(stringInAnyCase) { if (stringInAnyCase.length === 0) { return stringInAnyCase; } if (this.isCamelCase(stringInAnyCase)) { return stringInAnyCase .split(/(?=[A-Z])/) .map((item) => item.toLowerCase()) .toString() .replaceAll(',', '-'); } if (this.isLowerKebabCase(stringInAnyCase)) { return stringInAnyCase; } if (this.isLowerSnakeCase(stringInAnyCase)) { return stringInAnyCase.replaceAll('_', '-'); } if (this.isPascalCase(stringInAnyCase)) { return (stringInAnyCase.charAt(0).toLowerCase() + stringInAnyCase .slice(1) .split(/(?=[A-Z])/) .map((item) => item.toLowerCase()) .toString() .replaceAll(',', '-')); } if (this.isUpperKebabCase(stringInAnyCase)) { return stringInAnyCase.toLowerCase(); } if (this.isUpperSnakeCase(stringInAnyCase)) { return stringInAnyCase.replaceAll('_', '-').toLowerCase(); } return stringInAnyCase; } defineCase(stringInAnyCase) { if (this.isCamelCase(stringInAnyCase)) return 'camelCase'; if (this.isPascalCase(stringInAnyCase)) return 'pascalCase'; if (this.isUpperSnakeCase(stringInAnyCase)) return 'upperSnakeCase'; if (this.isLowerSnakeCase(stringInAnyCase)) return 'lowerSnakeCase'; if (this.isUpperKebabCase(stringInAnyCase)) return 'upperKebabCase'; if (this.isLowerKebabCase(stringInAnyCase)) return 'lowerKebabCase'; if (this.isUpperCase(stringInAnyCase)) return 'upperCase'; if (this.isLowerCase(stringInAnyCase)) return 'lowerCase'; return 'lowerCase'; } } exports.ModuleString = ModuleString;