@@ -287,13 +287,21 @@ function __createContainer<
287287 Container < TSyncDependencies , { } >
288288 > ,
289289 ) : ContainerWithNewSyncDep < TName , TDependency > {
290- return __createContainer (
291- {
292- ...syncDependencies ,
293- [ name ] : dependency ,
294- } ,
295- asyncDependencies ,
296- ) as ContainerWithNewSyncDep < TName , TDependency >
290+ if ( name in syncDependencies ) {
291+ return __createContainer (
292+ {
293+ ...syncDependencies ,
294+ [ name ] : dependency ,
295+ } ,
296+ asyncDependencies ,
297+ ) as ContainerWithNewSyncDep < TName , TDependency >
298+ } else {
299+ ; ( syncDependencies as Record < TName , unknown > ) [ name ] = dependency
300+ return __createContainer (
301+ syncDependencies ,
302+ asyncDependencies ,
303+ ) as ContainerWithNewSyncDep < TName , TDependency >
304+ }
297305 } ,
298306
299307 registerAsync < TName extends ContainerKey , TDependency > (
@@ -303,23 +311,39 @@ function __createContainer<
303311 Container < TSyncDependencies , TAsyncDependencies >
304312 > ,
305313 ) : ContainerWithNewAsyncDep < TName , TDependency > {
306- return __createContainer ( syncDependencies , {
307- ...asyncDependencies ,
308- [ name ] : dependency ,
309- } ) as ContainerWithNewAsyncDep < TName , TDependency >
314+ if ( name in asyncDependencies ) {
315+ return __createContainer ( syncDependencies , {
316+ ...asyncDependencies ,
317+ [ name ] : dependency ,
318+ } ) as ContainerWithNewAsyncDep < TName , TDependency >
319+ } else {
320+ ; ( asyncDependencies as Record < TName , unknown > ) [ name ] = dependency
321+ return __createContainer (
322+ syncDependencies ,
323+ asyncDependencies ,
324+ ) as ContainerWithNewAsyncDep < TName , TDependency >
325+ }
310326 } ,
311327
312328 registerValue < TName extends ContainerKey , TDependency > (
313329 name : TName ,
314330 dependency : TDependency ,
315331 ) : ContainerWithNewSyncDep < TName , TDependency > {
316- return __createContainer (
317- {
318- ...syncDependencies ,
319- [ name ] : ( ) => dependency ,
320- } ,
321- asyncDependencies ,
322- ) as ContainerWithNewSyncDep < TName , TDependency >
332+ if ( name in syncDependencies ) {
333+ return __createContainer (
334+ {
335+ ...syncDependencies ,
336+ [ name ] : ( ) => dependency ,
337+ } ,
338+ asyncDependencies ,
339+ ) as ContainerWithNewSyncDep < TName , TDependency >
340+ } else {
341+ ; ( syncDependencies as Record < TName , unknown > ) [ name ] = ( ) => dependency
342+ return __createContainer (
343+ syncDependencies ,
344+ asyncDependencies ,
345+ ) as ContainerWithNewSyncDep < TName , TDependency >
346+ }
323347 } ,
324348
325349 resolve < TName extends keyof TSyncDependencies > (
0 commit comments