diff --git a/src/functions/__tests__/casing.test.ts b/src/functions/__tests__/casing.test.ts index 8da9fa887..148b6a190 100644 --- a/src/functions/__tests__/casing.test.ts +++ b/src/functions/__tests__/casing.test.ts @@ -46,7 +46,7 @@ describe('casing', () => { describe('camel', () => { const invalid = ['foo_test', 'Foo', '1fooBarBaz', '123', 'foo-bar']; - const valid = ['foo', 'fooBar', 'fooBarBaz']; + const valid = ['foo', 'fooBar', 'fooBarBaz', 'coordinateX']; const validWithDigits = ['foo1', 'foo24Bar', 'fooBar0Baz323']; test.each(invalid)('should recognize invalid target %s', target => { @@ -70,7 +70,7 @@ describe('casing', () => { describe('pascal', () => { const invalid = ['foo_test', '123', '1fooBarBaz', 'fooBarBaz1', 'fooBar', 'foo1', 'foo-bar']; - const valid = ['Foo', 'FooBar', 'FooBarBaz']; + const valid = ['Foo', 'FooBar', 'FooBarBaz', 'CoordinateZ']; const validWithDigits = ['Foo1', 'FooBarBaz1']; test.each(invalid)('should recognize invalid target %s', target => { diff --git a/src/functions/casing.ts b/src/functions/casing.ts index fb85400ed..ff18d22f7 100644 --- a/src/functions/casing.ts +++ b/src/functions/casing.ts @@ -23,8 +23,8 @@ export interface ICasingOptions { const CASES: Dictionary = { [CasingType.flat]: '[a-z][a-z{__DIGITS__}]*', - [CasingType.camel]: '[a-z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}][a-z{__DIGITS__}]+)*', - [CasingType.pascal]: '[A-Z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}][a-z{__DIGITS__}]+)*', + [CasingType.camel]: '[a-z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*', + [CasingType.pascal]: '[A-Z][a-z{__DIGITS__}]*(?:[A-Z{__DIGITS__}](?:[a-z{__DIGITS__}]+|$))*', [CasingType.kebab]: '[a-z][a-z{__DIGITS__}]*(?:-[a-z{__DIGITS__}]+)*', [CasingType.cobol]: '[A-Z][A-Z{__DIGITS__}]*(?:-[A-Z{__DIGITS__}]+)*', [CasingType.snake]: '[a-z][a-z{__DIGITS__}]*(?:_[a-z{__DIGITS__}]+)*',