@@ -238,11 +238,6 @@ export function createContainer({
238238 }
239239 if ( isConstructor ( token ) ) {
240240 const Class = token ;
241- const metadata = getMetadata ( Class ) ;
242- if ( metadata . autoRegister ?? autoRegister ) {
243- container . register ( Class ) ;
244- return container . resolve ( Class ) ;
245- }
246241 return instantiateClass ( Class ) ;
247242 }
248243 }
@@ -259,11 +254,6 @@ export function createContainer({
259254 }
260255 if ( isConstructor ( token ) ) {
261256 const Class = token ;
262- const metadata = getMetadata ( Class ) ;
263- if ( metadata . autoRegister ?? autoRegister ) {
264- container . register ( Class ) ;
265- return [ container . resolve ( Class ) ] ;
266- }
267257 return [ instantiateClass ( Class ) ] ;
268258 }
269259 }
@@ -275,6 +265,10 @@ export function createContainer({
275265
276266 function instantiateClass < T extends object > ( Class : Constructor < T > ) : T {
277267 const metadata = getMetadata ( Class ) ;
268+ if ( metadata . autoRegister ?? autoRegister ) {
269+ container . register ( Class ) ;
270+ return container . resolve ( Class ) ;
271+ }
278272 const provider = metadata . provider ;
279273 const options = { scope : resolveScope ( metadata . scope ) } ;
280274 assert ( options . scope != Scope . Container , `unregistered class ${ Class . name } cannot be resolved in container scope` ) ;
0 commit comments