We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 37f2760 commit 04f960eCopy full SHA for 04f960e
src/inflection.ts
@@ -391,6 +391,7 @@ const regex = {
391
tium: new RegExp('([ti])um$', 'gi'),
392
sis: new RegExp('sis$', 'gi'),
393
ffe: new RegExp('(?:([^f])fe|([lr])f)$', 'gi'),
394
+ focus: new RegExp('^(focus)$', 'gi'),
395
hive: new RegExp('(hi|ti)ve$', 'gi'),
396
aeiouyy: new RegExp('([^aeiouy]|qu)y$', 'gi'),
397
x: new RegExp('(x|ch|ss|sh)$', 'gi'),
@@ -459,6 +460,7 @@ const pluralRules: [RegExp, string?][] = [
459
460
[regex.singular.tium, '$1a'],
461
[regex.singular.sis, 'ses'],
462
[regex.singular.ffe, '$1$2ves'],
463
+ [regex.singular.focus, '$1es'],
464
[regex.singular.hive, '$1ves'],
465
[regex.singular.aeiouyy, '$1ies'],
466
[regex.singular.matrix, '$1ices'],
@@ -496,6 +498,7 @@ const singularRules: [RegExp, string?][] = [
496
498
[regex.singular.tium],
497
499
[regex.singular.sis],
500
[regex.singular.ffe],
501
+ [regex.singular.focus],
502
[regex.singular.hive],
503
[regex.singular.aeiouyy],
504
[regex.singular.x],
test/inflection.test.ts
@@ -3,6 +3,7 @@ import { describe, it, expect } from 'vitest';
3
4
describe('test .pluralize', function () {
5
it('should pluralize the given word', function () {
6
+ expect(inflection.pluralize('accommodation')).toEqual('accommodation');
7
expect(inflection.pluralize('people')).toEqual('people');
8
expect(inflection.pluralize('men')).toEqual('men');
9
expect(inflection.pluralize('women')).toEqual('women');
@@ -16,6 +17,7 @@ describe('test .pluralize', function () {
16
17
expect(inflection.pluralize('life')).toEqual('lives');
18
expect(inflection.pluralize('bath')).toEqual('baths');
19
expect(inflection.pluralize('calf')).toEqual('calves');
20
+ expect(inflection.pluralize('focus')).toEqual('focuses');
21
expect(inflection.pluralize('foot')).toEqual('feet');
22
expect(inflection.pluralize('book')).toEqual('books');
23
expect(inflection.pluralize('goose')).toEqual('geese');
@@ -67,6 +69,7 @@ describe('test .singularize', function () {
67
69
expect(inflection.singularize('baths')).toEqual('bath');
68
70
expect(inflection.singularize('calves')).toEqual('calf');
71
expect(inflection.singularize('feet')).toEqual('foot');
72
+ expect(inflection.singularize('focus')).toEqual('focus');
73
expect(inflection.singularize('books')).toEqual('book');
74
expect(inflection.singularize('geese')).toEqual('goose');
75
expect(inflection.singularize('teeth')).toEqual('tooth');
0 commit comments