1- import type { Factory , Resolver } from '@ember/owner' ;
1+ import type { Factory , Resolver } from '@ember/-internals/owner' ;
2+
3+ const KNOWN_EASY_PLURALS = new Set ( [
4+ 'adapter' ,
5+ 'component' ,
6+ 'controller' ,
7+ 'model' ,
8+ 'modifier' ,
9+ 'route' ,
10+ 'serializer' ,
11+ 'template' ,
12+ ] ) ;
213
314export class StrictResolver implements Resolver {
415 // Ember's router uses this flag to decide whether to auto-generate
@@ -8,16 +19,6 @@ export class StrictResolver implements Resolver {
819 moduleBasedResolver = true ;
920
1021 #modules = new Map < string , unknown > ( ) ;
11- #plurals = new Map < string , string > ( [
12- [ 'component' , 'components' ] ,
13- [ 'config' , 'config' ] ,
14- [ 'controller' , 'controllers' ] ,
15- [ 'helper' , 'helpers' ] ,
16- [ 'model' , 'models' ] ,
17- [ 'modifier' , 'modifiers' ] ,
18- [ 'route' , 'routes' ] ,
19- [ 'template' , 'templates' ] ,
20- ] ) ;
2122 original : any ;
2223
2324 constructor ( modules : Record < string , unknown > ) {
@@ -34,12 +35,12 @@ export class StrictResolver implements Resolver {
3435 return moduleName . replace ( fileExtension , '' ) . replace ( leadingDotSlash , '' ) ;
3536 }
3637
37- /**
38- * We only support plurals for the well known things (for historical reasons)
39- * (see the hard-coded map of plurals in #plurals)
40- */
41- #plural ( s : string ) {
42- return this . #plurals . get ( s ) ?? s ;
38+ #plural ( word : string ) {
39+ if ( KNOWN_EASY_PLURALS . has ( word ) ) {
40+ return word + 's' ;
41+ }
42+
43+ return word ;
4344 }
4445
4546 resolve ( fullName : string ) : Factory < object > | object | undefined {
0 commit comments