Skip to content

Commit

Permalink
fix: singularizing and pluralizing focus
Browse files Browse the repository at this point in the history
fixes #61
  • Loading branch information
p-kuen committed Jan 2, 2025
1 parent 37f2760 commit 04f960e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/inflection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,7 @@ const regex = {
tium: new RegExp('([ti])um$', 'gi'),
sis: new RegExp('sis$', 'gi'),
ffe: new RegExp('(?:([^f])fe|([lr])f)$', 'gi'),
focus: new RegExp('^(focus)$', 'gi'),
hive: new RegExp('(hi|ti)ve$', 'gi'),
aeiouyy: new RegExp('([^aeiouy]|qu)y$', 'gi'),
x: new RegExp('(x|ch|ss|sh)$', 'gi'),
Expand Down Expand Up @@ -459,6 +460,7 @@ const pluralRules: [RegExp, string?][] = [
[regex.singular.tium, '$1a'],
[regex.singular.sis, 'ses'],
[regex.singular.ffe, '$1$2ves'],
[regex.singular.focus, '$1es'],
[regex.singular.hive, '$1ves'],
[regex.singular.aeiouyy, '$1ies'],
[regex.singular.matrix, '$1ices'],
Expand Down Expand Up @@ -496,6 +498,7 @@ const singularRules: [RegExp, string?][] = [
[regex.singular.tium],
[regex.singular.sis],
[regex.singular.ffe],
[regex.singular.focus],
[regex.singular.hive],
[regex.singular.aeiouyy],
[regex.singular.x],
Expand Down
3 changes: 3 additions & 0 deletions test/inflection.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { describe, it, expect } from 'vitest';

describe('test .pluralize', function () {
it('should pluralize the given word', function () {
expect(inflection.pluralize('accommodation')).toEqual('accommodation');
expect(inflection.pluralize('people')).toEqual('people');
expect(inflection.pluralize('men')).toEqual('men');
expect(inflection.pluralize('women')).toEqual('women');
Expand All @@ -16,6 +17,7 @@ describe('test .pluralize', function () {
expect(inflection.pluralize('life')).toEqual('lives');
expect(inflection.pluralize('bath')).toEqual('baths');
expect(inflection.pluralize('calf')).toEqual('calves');
expect(inflection.pluralize('focus')).toEqual('focuses');
expect(inflection.pluralize('foot')).toEqual('feet');
expect(inflection.pluralize('book')).toEqual('books');
expect(inflection.pluralize('goose')).toEqual('geese');
Expand Down Expand Up @@ -67,6 +69,7 @@ describe('test .singularize', function () {
expect(inflection.singularize('baths')).toEqual('bath');
expect(inflection.singularize('calves')).toEqual('calf');
expect(inflection.singularize('feet')).toEqual('foot');
expect(inflection.singularize('focus')).toEqual('focus');
expect(inflection.singularize('books')).toEqual('book');
expect(inflection.singularize('geese')).toEqual('goose');
expect(inflection.singularize('teeth')).toEqual('tooth');
Expand Down

0 comments on commit 04f960e

Please sign in to comment.