@k8ts/instruments 0.9.1 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,16 +31,17 @@ export declare namespace Kind {
31
31
  child(name: string): Version<_Group, string>;
32
32
  }
33
33
  export class Version<const _Group extends string = string, const _Version extends string = string> extends Identifier<_Version, Kind.Group<_Group>> {
34
- kind<_Kind extends string>(kind: _Kind): Kind<_Group, _Version, _Kind>;
34
+ kind<_Kind extends string>(kind: _Kind, specialPlural?: string): Kind<_Group, _Version, _Kind>;
35
35
  __FORMAT__: _Version;
36
36
  get group(): Group<_Group>;
37
37
  child(name: string): Kind<_Group, _Version, string>;
38
38
  }
39
39
  export class Kind<const _Group extends string = string, const _Version extends string = string, const _Kind extends string = string> extends Identifier<_Kind, Version<_Group, _Version>> {
40
- constructor(name: _Kind, parent: Version<_Group, _Version>);
40
+ private readonly _specialPlural?;
41
+ constructor(name: _Kind, parent: Version<_Group, _Version>, _specialPlural?: string | undefined);
41
42
  refKey<Name extends string>(options: RefKey_Options<Name>): RefKey<this, Name>;
42
43
  External<N extends string = string, const P extends External_Props<this> = External_Props<this>>(options: P & RefKey_Options<N>): External_WithFeatures<this, P>;
43
- get plural(): `${string}s`;
44
+ get plural(): string;
44
45
  get version(): Version<_Group, _Version>;
45
46
  get group(): Group<_Group>;
46
47
  subkind<SubKind extends string>(subkind: SubKind): Kind.SubKind<SubKind, this>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/index.ts"],"names":[],"mappings":"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"}
@@ -145,8 +145,8 @@ var Kind;
145
145
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
146
146
  __runInitializers(_classThis, _classExtraInitializers);
147
147
  }
148
- kind(kind) {
149
- return new Kind(kind, this);
148
+ kind(kind, specialPlural) {
149
+ return new Kind(kind, this, specialPlural);
150
150
  }
151
151
  __FORMAT__;
152
152
  get group() {
@@ -174,8 +174,10 @@ var Kind;
174
174
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
175
175
  __runInitializers(_classThis, _classExtraInitializers);
176
176
  }
177
- constructor(name, parent) {
177
+ _specialPlural;
178
+ constructor(name, parent, _specialPlural) {
178
179
  super(name, parent);
180
+ this._specialPlural = _specialPlural;
179
181
  }
180
182
  refKey(options) {
181
183
  return new ref_key_1.RefKey(this, options);
@@ -187,7 +189,7 @@ var Kind;
187
189
  }), options ?? {});
188
190
  }
189
191
  get plural() {
190
- return (0, pluralize_1.pluralize)(this.name.toLowerCase());
192
+ return this._specialPlural ?? (0, pluralize_1.pluralize)(this.name.toLowerCase());
191
193
  }
192
194
  get version() {
193
195
  return this.parent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsLA,wBAKC;AA3LD,6CAAoD;AACpD,6CAAoD;AACpD,6DAAyD;AACzD,0CAA4F;AAC5F,wCAAwD;AACxD,2CAAuC;AAOvC,IAAiB,IAAI,CAyKpB;AAzKD,WAAiB,MAAI;QAeK,UAAU;gCAJ/B,IAAA,uBAAU,EAAC;gBACR,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI;aAC5B,CAAC,EACD,IAAA,wBAAgB,GAAE;;;;;;;;gBACnB,6KA+CC;;;gBA/CqB,uDAAU;;YAMf,IAAI;YACJ,MAAM;YAFnB,YACa,IAAU,EACV,MAAc;gBADd,SAAI,GAAJ,IAAI,CAAM;gBACV,WAAM,GAAN,MAAM,CAAQ;YACxB,CAAC;YAEJ,IAAI,IAAI;gBACJ,MAAM,KAAK,GAAkB,EAAE,CAAA;gBAC/B,IAAI,IAAI,GAAuB,IAAI,CAAA;gBACnC,OAAO,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBACnB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAA;gBACtB,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,IAAI;gBACJ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAQ,CAAA;YACtD,CAAC;YAED,IAAI,GAAG;gBACH,OAAO,IAAI,CAAC,IAAI;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAChB,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YASD,MAAM,CAAC,KAAU;gBACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtC,OAAO,KAAK,CAAA;gBAChB,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;oBACjC,OAAO,KAAK,CAAA;gBAChB,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAA;YACnC,CAAC;;;;IA9CiB,iBAAU,aA+C/B,CAAA;QAEY,KAAK;gCADjB,IAAA,wBAAgB,GAAE;;;;0BAC8C,UAAU;yBAAlB,SAAQ,WAAwB;;;;gBAAzF,6KAgBC;;;gBAhBY,uDAAK;;YACO,IAAI;YAAzB,YAAqB,IAAY;gBAC7B,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBADA,SAAI,GAAJ,IAAI,CAAQ;YAEjC,CAAC;YACD,OAAO,CAA2B,UAAmB;gBACjD,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACxC,CAAC;YAED,KAAK,CAAC,IAAY;gBACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,wBAAgB,CACtB,yBAAyB,IAAI,sCAAsC,CACtE,CAAA;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAW,CAAQ,CAAA;YAC3C,CAAC;;;;IAfQ,YAAK,QAgBjB,CAAA;QAEY,OAAO;gCADnB,IAAA,wBAAgB,GAAE;;;;0BAIT,UAAU;2BAAlB,SAAQ,WAAwC;;;;gBAHlD,6KAiBC;;;gBAjBY,uDAAO;;YAIhB,IAAI,CAAuB,IAAW;gBAClC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAiC,CAAC,CAAA;YAC5D,CAAC;YAED,UAAU,CAAW;YAErB,IAAI,KAAK;gBACL,OAAO,IAAI,CAAC,MAAM,CAAA;YACtB,CAAC;YAED,KAAK,CAAC,IAAY;gBACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;;;;IAhBQ,cAAO,UAiBnB,CAAA;QAEY,IAAI;gCADhB,IAAA,wBAAgB,GAAE;;;;0BAKT,UAAU;wBAAlB,SAAQ,WAA4C;;;;gBAJtD,6KA0CC;;;gBA1CY,uDAAI;;YAKb,YAAY,IAAW,EAAE,MAAiC;gBACtD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACvB,CAAC;YAED,MAAM,CAAsB,OAA6B;gBACrD,OAAO,IAAI,gBAAM,CAAa,IAAW,EAAE,OAAO,CAAC,CAAA;YACvD,CAAC;YACD,QAAQ,CAGN,OAA8B;gBAC5B,OAAO,IAAI,wBAAa,CACpB,IAAI,CAAC,MAAM,CAAC;oBACR,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC/B,CAAC,EACF,OAAO,IAAI,EAAE,CACT,CAAA;YACZ,CAAC;YACD,IAAI,MAAM;gBACN,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,OAAO;gBACP,OAAO,IAAI,CAAC,MAAM,CAAA;YACtB,CAAC;YAED,IAAI,KAAK;gBACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YAC7B,CAAC;YAED,OAAO,CAAyB,OAAgB;gBAC5C,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC;YAED,KAAK,CAAsB,IAAU;gBACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;;;;IAzCQ,WAAI,OA0ChB,CAAA;QAGY,OAAO;gCADnB,IAAA,wBAAgB,GAAE;;;;0BAIT,UAAU;2BAAlB,SAAQ,WAAwB;;;;gBAHlC,6KAcC;;;gBAdY,uDAAO;;YAIhB,YAAY,IAAU,EAAE,MAAc;gBAClC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,CAA2B,OAAkB;gBAChD,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACrC,CAAC;YAED,KAAK,CAAsB,IAAU;gBACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;;;;IAbQ,cAAO,UAcnB,CAAA;IAED,SAAgB,KAAK,CAA0B,QAAkB;QAC7D,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAFe,YAAK,QAEpB,CAAA;IAED,SAAgB,OAAO,CAA8B,UAAsB;QACvE,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAFe,cAAO,UAEtB,CAAA;AACL,CAAC,EAzKgB,IAAI,oBAAJ,IAAI,QAyKpB;AACD,SAAgB,MAAM,CAAC,IAAqB;IACxC,OAAO,CAAoD,IAAO,EAAE,EAAE;QAClE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACf,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ type _Word_Plural_Map = {
12
12
  z: "zes";
13
13
  ro: "es";
14
14
  x: "es";
15
+ ay: "ays";
16
+ ey: "eys";
17
+ iy: "iys";
18
+ oy: "oys";
19
+ uy: "uys";
15
20
  };
16
21
  export type Pluralize<S extends string> = S extends `${infer K extends keyof _Word_Plural_Map}` ? `${K}${_Word_Plural_Map[K]}` : `${S}s`;
17
22
  export declare function pluralize<S extends string>(word: S): Pluralize<S>;
@@ -1 +1 @@
1
- {"version":3,"file":"pluralize.d.ts","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/pluralize.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AACnC,KAAK,YAAY,GAAG,GAAG,WAAW,GAAG,MAAM,EAAE,CAAA;AAC7C,KAAK,OAAO,GAAG,IAAI,MAAM,GAAG,YAAY,GAAG,EAAE,EAAE,CAAA;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;AACpE,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,IAChF,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GACnB,OAAO,CAAA;AAEb,KAAK,gBAAgB,GAAG;IACpB,CAAC,EAAE,KAAK,CAAA;IACR,CAAC,EAAE,IAAI,CAAA;IACP,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,IAAI,CAAA;IACR,CAAC,EAAE,KAAK,CAAA;IACR,EAAE,EAAE,IAAI,CAAA;IACR,CAAC,EAAE,IAAI,CAAA;CACV,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,gBAAgB,EAAE,GACzF,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAC5B,GAAG,CAAC,GAAG,CAAA;AACb,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAQjE"}
1
+ {"version":3,"file":"pluralize.d.ts","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/pluralize.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AACnC,KAAK,YAAY,GAAG,GAAG,WAAW,GAAG,MAAM,EAAE,CAAA;AAC7C,KAAK,OAAO,GAAG,IAAI,MAAM,GAAG,YAAY,GAAG,EAAE,EAAE,CAAA;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;AACpE,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,IAChF,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GACnB,OAAO,CAAA;AAEb,KAAK,gBAAgB,GAAG;IACpB,CAAC,EAAE,KAAK,CAAA;IACR,CAAC,EAAE,IAAI,CAAA;IACP,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,IAAI,CAAA;IACR,CAAC,EAAE,KAAK,CAAA;IACR,EAAE,EAAE,IAAI,CAAA;IACR,CAAC,EAAE,IAAI,CAAA;IACP,EAAE,EAAE,KAAK,CAAA;IACT,EAAE,EAAE,KAAK,CAAA;IACT,EAAE,EAAE,KAAK,CAAA;IACT,EAAE,EAAE,KAAK,CAAA;IACT,EAAE,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,gBAAgB,EAAE,GACzF,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAC5B,GAAG,CAAC,GAAG,CAAA;AACb,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAWjE"}
@@ -5,6 +5,9 @@ function pluralize(word) {
5
5
  if (["s", "sh", "ch", "x", "z", "ro"].some(suffix => word.endsWith(suffix))) {
6
6
  return `${word}es`;
7
7
  }
8
+ if (["ay", "ey", "iy", "oy", "uy"].some(suffix => word.endsWith(suffix))) {
9
+ return `${word}s`;
10
+ }
8
11
  if (word.endsWith("y")) {
9
12
  return `${word.slice(0, -1)}ies`;
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluralize.js","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/pluralize.ts"],"names":[],"mappings":";;AAuBA,8BAQC;AARD,SAAgB,SAAS,CAAmB,IAAO;IAC/C,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,GAAG,IAAI,IAAoB,CAAA;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAqB,CAAA;IACpD,CAAC;IACD,OAAO,GAAG,IAAI,GAAmB,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"pluralize.js","sourceRoot":"","sources":["../../../../../src/core/graph/resource/api-kind/pluralize.ts"],"names":[],"mappings":";;AA4BA,8BAWC;AAXD,SAAgB,SAAS,CAAmB,IAAO;IAC/C,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,GAAG,IAAI,IAAoB,CAAA;IACtC,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,GAAG,IAAI,GAAmB,CAAA;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAqB,CAAA;IACpD,CAAC;IACD,OAAO,GAAG,IAAI,GAAmB,CAAA;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k8ts/instruments",
3
- "version": "0.9.1",
3
+ "version": "0.9.3",
4
4
  "description": "A collection of utilities and core components for k8ts.",
5
5
  "keywords": [
6
6
  "k8ts",
@@ -74,7 +74,7 @@
74
74
  "what-are-you": "^0.2.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@k8ts/metadata": "^0.7.1",
77
+ "@k8ts/metadata": "^0.7.3",
78
78
  "@types/jest": "^30.0.0",
79
79
  "@types/lodash": "^4.17.16",
80
80
  "@types/node": "20.9.1",
@@ -89,7 +89,7 @@
89
89
  "yamprint": "^0.8.4"
90
90
  },
91
91
  "peerDependencies": {
92
- "@k8ts/metadata": "^0.7.1"
92
+ "@k8ts/metadata": "^0.7.3"
93
93
  },
94
94
  "engines": {
95
95
  "node": ">=16.0.0"
@@ -96,8 +96,8 @@ export namespace Kind {
96
96
  const _Group extends string = string,
97
97
  const _Version extends string = string
98
98
  > extends Identifier<_Version, Kind.Group<_Group>> {
99
- kind<_Kind extends string>(kind: _Kind) {
100
- return new Kind(kind, this as Version<_Group, _Version>)
99
+ kind<_Kind extends string>(kind: _Kind, specialPlural?: string) {
100
+ return new Kind(kind, this as Version<_Group, _Version>, specialPlural)
101
101
  }
102
102
 
103
103
  __FORMAT__!: _Version
@@ -116,7 +116,11 @@ export namespace Kind {
116
116
  const _Version extends string = string,
117
117
  const _Kind extends string = string
118
118
  > extends Identifier<_Kind, Version<_Group, _Version>> {
119
- constructor(name: _Kind, parent: Version<_Group, _Version>) {
119
+ constructor(
120
+ name: _Kind,
121
+ parent: Version<_Group, _Version>,
122
+ private readonly _specialPlural?: string
123
+ ) {
120
124
  super(name, parent)
121
125
  }
122
126
 
@@ -136,7 +140,7 @@ export namespace Kind {
136
140
  ) as any
137
141
  }
138
142
  get plural() {
139
- return pluralize(this.name.toLowerCase())
143
+ return this._specialPlural ?? pluralize(this.name.toLowerCase())
140
144
  }
141
145
  get version() {
142
146
  return this.parent
@@ -16,6 +16,11 @@ type _Word_Plural_Map = {
16
16
  z: "zes"
17
17
  ro: "es"
18
18
  x: "es"
19
+ ay: "ays"
20
+ ey: "eys"
21
+ iy: "iys"
22
+ oy: "oys"
23
+ uy: "uys"
19
24
  }
20
25
 
21
26
  export type Pluralize<S extends string> = S extends `${infer K extends keyof _Word_Plural_Map}`
@@ -25,6 +30,9 @@ export function pluralize<S extends string>(word: S): Pluralize<S> {
25
30
  if (["s", "sh", "ch", "x", "z", "ro"].some(suffix => word.endsWith(suffix))) {
26
31
  return `${word}es` as Pluralize<S>
27
32
  }
33
+ if (["ay", "ey", "iy", "oy", "uy"].some(suffix => word.endsWith(suffix))) {
34
+ return `${word}s` as Pluralize<S>
35
+ }
28
36
  if (word.endsWith("y")) {
29
37
  return `${word.slice(0, -1)}ies` as Pluralize<S>
30
38
  }