Skip to content

Commit 350b309

Browse files
authored
Refactor singularisation of words ending in "ies" (#42)
1 parent 7ec8e1e commit 350b309

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

pluralize.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,8 @@
282282
['proof', 'proofs'],
283283
['carve', 'carves'],
284284
['valve', 'valves'],
285+
['looey', 'looies'],
285286
['thief', 'thieves'],
286-
['genie', 'genies'],
287287
['groove', 'grooves'],
288288
['pickaxe', 'pickaxes'],
289289
['whiskey', 'whiskies']
@@ -333,9 +333,9 @@
333333
[/(^analy)(?:sis|ses)$/i, '$1sis'],
334334
[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i, '$1fe'],
335335
[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],
336-
[/([^aeiouy]|qu)ies$/i, '$1y'],
337-
[/(^[pl]|zomb|^(?:neck)?t|[aeo][lt]|cut)ies$/i, '$1ie'],
338-
[/(\b(?:mon|smil))ies$/i, '$1ey'],
336+
[/ies$/i, 'y'],
337+
[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],
338+
[/\b(mon|smil)ies$/i, '$1ey'],
339339
[/(m|l)ice$/i, '$1ouse'],
340340
[/(seraph|cherub)im$/i, '$1'],
341341
[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i, '$1'],

test.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,19 @@ var BASIC_TESTS = [
262262
['dye', 'dyes'],
263263
['move', 'moves'],
264264
['zombie', 'zombies'],
265+
['variety', 'varieties'],
266+
['talkie', 'talkies'],
267+
['walkie-talkie', 'walkie-talkies'],
268+
['groupie', 'groupies'],
269+
['goonie', 'goonies'],
270+
['lassie', 'lassies'],
271+
['genie', 'genies'],
272+
['foodie', 'foodies'],
273+
['faerie', 'faeries'],
274+
['collie', 'collies'],
275+
['obloquy', 'obloquies'],
276+
['looey', 'looies'],
277+
['osprey', 'ospreys'],
265278
['cover', 'covers'],
266279
['tie', 'ties'],
267280
['groove', 'grooves'],
@@ -332,7 +345,8 @@ var BASIC_TESTS = [
332345
['activity', 'activities'],
333346
['cutie', 'cuties'],
334347
['validation', 'validations'],
335-
['floatie', 'floaties'],
348+
['floaty', 'floaties'],
349+
['nicety', 'niceties'],
336350
['goalie', 'goalies'],
337351
['crawly', 'crawlies'],
338352
['duty', 'duties'],
@@ -553,7 +567,6 @@ var BASIC_TESTS = [
553567
['strife', 'strifes'],
554568
['pony', 'ponies'],
555569
['phony', 'phonies'],
556-
['goony', 'goonies'],
557570
['felony', 'felonies'],
558571
['colony', 'colonies'],
559572
['symphony', 'symphonies'],

0 commit comments

Comments
 (0)