11export class ModuleString {
22 public toCamelCase ( stringInKebabCase : string ) : string {
33 if ( stringInKebabCase . length === 0 ) return ''
4-
54 const array = stringInKebabCase . split ( '-' )
65 const firstWord = array [ 0 ]
76 const otherWord = array . map ( ( item , index ) => {
@@ -51,30 +50,37 @@ export class ModuleString {
5150 }
5251
5352 private isFirstLetterUpperCase ( stringInAnyCase : string ) : boolean {
53+ if ( stringInAnyCase . length === 0 ) return false
5454 return stringInAnyCase . charAt ( 0 ) . toUpperCase ( ) === stringInAnyCase . charAt ( 0 )
5555 }
5656
5757 private isFirstLetterLowerCase ( stringInAnyCase : string ) : boolean {
58+ if ( stringInAnyCase . length === 0 ) return false
5859 return stringInAnyCase . charAt ( 0 ) . toLowerCase ( ) === stringInAnyCase . charAt ( 0 )
5960 }
6061
6162 private isStringContainsDash ( stringInAnyCase : string ) : boolean {
63+ if ( stringInAnyCase . length === 0 ) return false
6264 return stringInAnyCase . search ( / - / g) > 0
6365 }
6466
6567 private isStringContainsUnderlining ( stringInAnyCase : string ) : boolean {
68+ if ( stringInAnyCase . length === 0 ) return false
6669 return stringInAnyCase . search ( / _ / g) > 0
6770 }
6871
6972 private isStringUpperCase ( stringInAnyCase : string ) : boolean {
73+ if ( stringInAnyCase . length === 0 ) return false
7074 return stringInAnyCase . toUpperCase ( ) === stringInAnyCase
7175 }
7276
7377 private isStringLowerCase ( stringInAnyCase : string ) : boolean {
78+ if ( stringInAnyCase . length === 0 ) return false
7479 return stringInAnyCase . toLowerCase ( ) === stringInAnyCase
7580 }
7681
7782 public isCamelCase ( stringInAnyCase : string ) : boolean {
83+ if ( stringInAnyCase . length === 0 ) return false
7884 if ( this . isFirstLetterUpperCase ( stringInAnyCase ) ) return false
7985 if ( this . isStringContainsDash ( stringInAnyCase ) ) return false
8086 if ( this . isStringContainsUnderlining ( stringInAnyCase ) ) return false
@@ -83,10 +89,19 @@ export class ModuleString {
8389 }
8490
8591 public isPascalCase ( stringInAnyCase : string ) : boolean {
92+ if ( stringInAnyCase . length === 0 ) return false
8693 if ( this . isFirstLetterLowerCase ( stringInAnyCase ) ) return false
8794 if ( this . isStringContainsDash ( stringInAnyCase ) ) return false
8895 if ( this . isStringContainsUnderlining ( stringInAnyCase ) ) return false
8996 if ( this . isStringUpperCase ( stringInAnyCase ) ) return false
9097 return true
9198 }
99+
100+ public isUpperSnakeCase ( stringInAnyCase : string ) : boolean {
101+ if ( stringInAnyCase . length === 0 ) return false
102+ if ( this . isStringUpperCase ( stringInAnyCase ) && this . isStringContainsUnderlining ( stringInAnyCase ) ) {
103+ return true
104+ }
105+ return false
106+ }
92107}
0 commit comments