@tsed/di 8.11.1 → 8.11.2-rc.1
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.
- package/lib/esm/common/constants/constants.js +0 -1
- package/lib/esm/common/decorators/autoInjectable.js +0 -1
- package/lib/esm/common/decorators/configuration.js +0 -1
- package/lib/esm/common/decorators/constant.js +0 -1
- package/lib/esm/common/decorators/controller.js +0 -1
- package/lib/esm/common/decorators/inject.js +0 -1
- package/lib/esm/common/decorators/injectable.js +0 -1
- package/lib/esm/common/decorators/intercept.js +0 -1
- package/lib/esm/common/decorators/interceptor.js +0 -1
- package/lib/esm/common/decorators/lazyInject.js +0 -1
- package/lib/esm/common/decorators/module.js +0 -1
- package/lib/esm/common/decorators/opts.js +0 -1
- package/lib/esm/common/decorators/overrideProvider.js +0 -1
- package/lib/esm/common/decorators/scope.js +0 -1
- package/lib/esm/common/decorators/service.js +0 -1
- package/lib/esm/common/decorators/useOpts.js +0 -1
- package/lib/esm/common/decorators/value.js +0 -1
- package/lib/esm/common/domain/Container.js +0 -1
- package/lib/esm/common/domain/ControllerProvider.js +0 -1
- package/lib/esm/common/domain/InjectablePropertyType.js +0 -1
- package/lib/esm/common/domain/LocalsContainer.js +0 -1
- package/lib/esm/common/domain/Provider.js +0 -1
- package/lib/esm/common/domain/ProviderScope.js +0 -1
- package/lib/esm/common/domain/ProviderType.js +0 -1
- package/lib/esm/common/errors/InjectionError.js +0 -1
- package/lib/esm/common/errors/InvalidPropertyTokenError.js +0 -1
- package/lib/esm/common/fn/configuration.js +0 -1
- package/lib/esm/common/fn/constant.js +0 -1
- package/lib/esm/common/fn/inject.js +0 -1
- package/lib/esm/common/fn/injectMany.js +0 -1
- package/lib/esm/common/fn/injectable.js +0 -1
- package/lib/esm/common/fn/injector.js +0 -1
- package/lib/esm/common/fn/lazyInject.js +0 -1
- package/lib/esm/common/fn/localsContainer.js +0 -1
- package/lib/esm/common/fn/logger.js +0 -1
- package/lib/esm/common/fn/refValue.js +0 -1
- package/lib/esm/common/index.js +0 -1
- package/lib/esm/common/interfaces/DIConfigurationOptions.js +0 -1
- package/lib/esm/common/interfaces/DILogger.js +0 -1
- package/lib/esm/common/interfaces/DILoggerOptions.js +0 -1
- package/lib/esm/common/interfaces/ImportTokenProviderOpts.js +0 -1
- package/lib/esm/common/interfaces/InterceptorContext.js +0 -1
- package/lib/esm/common/interfaces/InterceptorMethods.js +0 -1
- package/lib/esm/common/interfaces/InvokeOptions.js +0 -1
- package/lib/esm/common/interfaces/OnDestroy.js +0 -1
- package/lib/esm/common/interfaces/OnInit.js +0 -1
- package/lib/esm/common/interfaces/ProviderOpts.js +0 -1
- package/lib/esm/common/interfaces/RegistrySettings.js +0 -1
- package/lib/esm/common/interfaces/ResolvedInvokeOptions.js +0 -1
- package/lib/esm/common/interfaces/TokenProvider.js +0 -1
- package/lib/esm/common/interfaces/TokenRoute.js +0 -1
- package/lib/esm/common/registries/GlobalProviders.js +0 -1
- package/lib/esm/common/registries/ProviderRegistry.js +0 -1
- package/lib/esm/common/services/DIConfiguration.js +0 -1
- package/lib/esm/common/services/DILogger.js +0 -1
- package/lib/esm/common/services/InjectorService.js +0 -1
- package/lib/esm/common/utils/colors.js +0 -1
- package/lib/esm/common/utils/createContainer.js +0 -1
- package/lib/esm/common/utils/discoverHooks.js +0 -1
- package/lib/esm/common/utils/getConfiguration.js +0 -1
- package/lib/esm/common/utils/getConstructorDependencies.js +0 -1
- package/lib/esm/common/utils/providerBuilder.js +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/node/decorators/injectContext.js +0 -1
- package/lib/esm/node/domain/ContextLogger.js +0 -1
- package/lib/esm/node/domain/DIContext.js +0 -1
- package/lib/esm/node/fn/context.js +0 -1
- package/lib/esm/node/fn/contextLogger.js +0 -1
- package/lib/esm/node/index.js +0 -1
- package/lib/esm/node/interfaces/AlterRunInContext.js +0 -1
- package/lib/esm/node/services/DILogger.js +0 -1
- package/lib/esm/node/services/DITest.js +0 -1
- package/lib/esm/node/utils/asyncHookContext.js +0 -1
- package/lib/esm/node/utils/attachLogger.js +0 -1
- package/lib/esm/node/utils/setLoggerConfiguration.js +0 -1
- package/lib/esm/node/utils/setLoggerFormat.js +0 -1
- package/lib/esm/node/utils/setLoggerLevel.js +0 -1
- package/package.json +12 -10
- package/.barrelsby.json +0 -5
- package/lib/browser/chunks/injectable.js +0 -65
- package/lib/browser/chunks/injectable.js.map +0 -1
- package/lib/browser/common/constants/constants.js +0 -9
- package/lib/browser/common/constants/constants.js.map +0 -1
- package/lib/browser/common/decorators/autoInjectable.js +0 -26
- package/lib/browser/common/decorators/autoInjectable.js.map +0 -1
- package/lib/browser/common/decorators/configuration.js +0 -24
- package/lib/browser/common/decorators/configuration.js.map +0 -1
- package/lib/browser/common/decorators/constant.js +0 -27
- package/lib/browser/common/decorators/constant.js.map +0 -1
- package/lib/browser/common/decorators/controller.js +0 -23
- package/lib/browser/common/decorators/controller.js.map +0 -1
- package/lib/browser/common/decorators/inject.js +0 -62
- package/lib/browser/common/decorators/inject.js.map +0 -1
- package/lib/browser/common/decorators/injectable.js +0 -14
- package/lib/browser/common/decorators/injectable.js.map +0 -1
- package/lib/browser/common/decorators/intercept.js +0 -57
- package/lib/browser/common/decorators/intercept.js.map +0 -1
- package/lib/browser/common/decorators/interceptor.js +0 -11
- package/lib/browser/common/decorators/interceptor.js.map +0 -1
- package/lib/browser/common/decorators/lazyInject.js +0 -43
- package/lib/browser/common/decorators/lazyInject.js.map +0 -1
- package/lib/browser/common/decorators/module.js +0 -22
- package/lib/browser/common/decorators/module.js.map +0 -1
- package/lib/browser/common/decorators/opts.js +0 -12
- package/lib/browser/common/decorators/opts.js.map +0 -1
- package/lib/browser/common/decorators/overrideProvider.js +0 -10
- package/lib/browser/common/decorators/overrideProvider.js.map +0 -1
- package/lib/browser/common/decorators/scope.js +0 -9
- package/lib/browser/common/decorators/scope.js.map +0 -1
- package/lib/browser/common/decorators/service.js +0 -8
- package/lib/browser/common/decorators/service.js.map +0 -1
- package/lib/browser/common/decorators/useOpts.js +0 -23
- package/lib/browser/common/decorators/useOpts.js.map +0 -1
- package/lib/browser/common/decorators/value.js +0 -23
- package/lib/browser/common/decorators/value.js.map +0 -1
- package/lib/browser/common/domain/Container.js +0 -64
- package/lib/browser/common/domain/Container.js.map +0 -1
- package/lib/browser/common/domain/ControllerProvider.js +0 -35
- package/lib/browser/common/domain/ControllerProvider.js.map +0 -1
- package/lib/browser/common/domain/InjectablePropertyType.js +0 -5
- package/lib/browser/common/domain/InjectablePropertyType.js.map +0 -1
- package/lib/browser/common/domain/LocalsContainer.js +0 -13
- package/lib/browser/common/domain/LocalsContainer.js.map +0 -1
- package/lib/browser/common/domain/Provider.js +0 -144
- package/lib/browser/common/domain/Provider.js.map +0 -1
- package/lib/browser/common/domain/ProviderScope.js +0 -5
- package/lib/browser/common/domain/ProviderScope.js.map +0 -1
- package/lib/browser/common/domain/ProviderType.js +0 -5
- package/lib/browser/common/domain/ProviderType.js.map +0 -1
- package/lib/browser/common/errors/InjectionError.js +0 -31
- package/lib/browser/common/errors/InjectionError.js.map +0 -1
- package/lib/browser/common/errors/InvalidPropertyTokenError.js +0 -17
- package/lib/browser/common/errors/InvalidPropertyTokenError.js.map +0 -1
- package/lib/browser/common/fn/configuration.js +0 -13
- package/lib/browser/common/fn/configuration.js.map +0 -1
- package/lib/browser/common/fn/constant.js +0 -8
- package/lib/browser/common/fn/constant.js.map +0 -1
- package/lib/browser/common/fn/inject.js +0 -13
- package/lib/browser/common/fn/inject.js.map +0 -1
- package/lib/browser/common/fn/injectMany.js +0 -9
- package/lib/browser/common/fn/injectMany.js.map +0 -1
- package/lib/browser/common/fn/injectable.js +0 -8
- package/lib/browser/common/fn/injectable.js.map +0 -1
- package/lib/browser/common/fn/injector.js +0 -13
- package/lib/browser/common/fn/injector.js.map +0 -1
- package/lib/browser/common/fn/lazyInject.js +0 -23
- package/lib/browser/common/fn/lazyInject.js.map +0 -1
- package/lib/browser/common/fn/localsContainer.js +0 -29
- package/lib/browser/common/fn/localsContainer.js.map +0 -1
- package/lib/browser/common/fn/logger.js +0 -8
- package/lib/browser/common/fn/logger.js.map +0 -1
- package/lib/browser/common/fn/refValue.js +0 -15
- package/lib/browser/common/fn/refValue.js.map +0 -1
- package/lib/browser/common/index.js +0 -115
- package/lib/browser/common/index.js.map +0 -1
- package/lib/browser/common/registries/GlobalProviders.js +0 -102
- package/lib/browser/common/registries/GlobalProviders.js.map +0 -1
- package/lib/browser/common/registries/ProviderRegistry.js +0 -8
- package/lib/browser/common/registries/ProviderRegistry.js.map +0 -1
- package/lib/browser/common/services/DIConfiguration.js +0 -99
- package/lib/browser/common/services/DIConfiguration.js.map +0 -1
- package/lib/browser/common/services/DILogger.js +0 -8
- package/lib/browser/common/services/DILogger.js.map +0 -1
- package/lib/browser/common/services/InjectorService.js +0 -378
- package/lib/browser/common/services/InjectorService.js.map +0 -1
- package/lib/browser/common/utils/colors.js +0 -5
- package/lib/browser/common/utils/colors.js.map +0 -1
- package/lib/browser/common/utils/createContainer.js +0 -10
- package/lib/browser/common/utils/createContainer.js.map +0 -1
- package/lib/browser/common/utils/discoverHooks.js +0 -17
- package/lib/browser/common/utils/discoverHooks.js.map +0 -1
- package/lib/browser/common/utils/getConfiguration.js +0 -20
- package/lib/browser/common/utils/getConfiguration.js.map +0 -1
- package/lib/browser/common/utils/getConstructorDependencies.js +0 -12
- package/lib/browser/common/utils/getConstructorDependencies.js.map +0 -1
- package/lib/browser/common/utils/providerBuilder.js +0 -8
- package/lib/browser/common/utils/providerBuilder.js.map +0 -1
- package/lib/esm/common/constants/constants.js.map +0 -1
- package/lib/esm/common/decorators/autoInjectable.js.map +0 -1
- package/lib/esm/common/decorators/configuration.js.map +0 -1
- package/lib/esm/common/decorators/constant.js.map +0 -1
- package/lib/esm/common/decorators/controller.js.map +0 -1
- package/lib/esm/common/decorators/inject.js.map +0 -1
- package/lib/esm/common/decorators/injectable.js.map +0 -1
- package/lib/esm/common/decorators/intercept.js.map +0 -1
- package/lib/esm/common/decorators/interceptor.js.map +0 -1
- package/lib/esm/common/decorators/lazyInject.js.map +0 -1
- package/lib/esm/common/decorators/module.js.map +0 -1
- package/lib/esm/common/decorators/opts.js.map +0 -1
- package/lib/esm/common/decorators/overrideProvider.js.map +0 -1
- package/lib/esm/common/decorators/scope.js.map +0 -1
- package/lib/esm/common/decorators/service.js.map +0 -1
- package/lib/esm/common/decorators/useOpts.js.map +0 -1
- package/lib/esm/common/decorators/value.js.map +0 -1
- package/lib/esm/common/domain/Container.js.map +0 -1
- package/lib/esm/common/domain/ControllerProvider.js.map +0 -1
- package/lib/esm/common/domain/InjectablePropertyType.js.map +0 -1
- package/lib/esm/common/domain/LocalsContainer.js.map +0 -1
- package/lib/esm/common/domain/Provider.js.map +0 -1
- package/lib/esm/common/domain/ProviderScope.js.map +0 -1
- package/lib/esm/common/domain/ProviderType.js.map +0 -1
- package/lib/esm/common/errors/InjectionError.js.map +0 -1
- package/lib/esm/common/errors/InvalidPropertyTokenError.js.map +0 -1
- package/lib/esm/common/fn/configuration.js.map +0 -1
- package/lib/esm/common/fn/constant.js.map +0 -1
- package/lib/esm/common/fn/inject.js.map +0 -1
- package/lib/esm/common/fn/injectMany.js.map +0 -1
- package/lib/esm/common/fn/injectable.js.map +0 -1
- package/lib/esm/common/fn/injector.js.map +0 -1
- package/lib/esm/common/fn/lazyInject.js.map +0 -1
- package/lib/esm/common/fn/localsContainer.js.map +0 -1
- package/lib/esm/common/fn/logger.js.map +0 -1
- package/lib/esm/common/fn/refValue.js.map +0 -1
- package/lib/esm/common/index.js.map +0 -1
- package/lib/esm/common/interfaces/DIConfigurationOptions.js.map +0 -1
- package/lib/esm/common/interfaces/DILogger.js.map +0 -1
- package/lib/esm/common/interfaces/DILoggerOptions.js.map +0 -1
- package/lib/esm/common/interfaces/ImportTokenProviderOpts.js.map +0 -1
- package/lib/esm/common/interfaces/InterceptorContext.js.map +0 -1
- package/lib/esm/common/interfaces/InterceptorMethods.js.map +0 -1
- package/lib/esm/common/interfaces/InvokeOptions.js.map +0 -1
- package/lib/esm/common/interfaces/OnDestroy.js.map +0 -1
- package/lib/esm/common/interfaces/OnInit.js.map +0 -1
- package/lib/esm/common/interfaces/ProviderOpts.js.map +0 -1
- package/lib/esm/common/interfaces/RegistrySettings.js.map +0 -1
- package/lib/esm/common/interfaces/ResolvedInvokeOptions.js.map +0 -1
- package/lib/esm/common/interfaces/TokenProvider.js.map +0 -1
- package/lib/esm/common/interfaces/TokenRoute.js.map +0 -1
- package/lib/esm/common/registries/GlobalProviders.js.map +0 -1
- package/lib/esm/common/registries/ProviderRegistry.js.map +0 -1
- package/lib/esm/common/services/DIConfiguration.js.map +0 -1
- package/lib/esm/common/services/DILogger.js.map +0 -1
- package/lib/esm/common/services/InjectorService.js.map +0 -1
- package/lib/esm/common/utils/colors.js.map +0 -1
- package/lib/esm/common/utils/createContainer.js.map +0 -1
- package/lib/esm/common/utils/discoverHooks.js.map +0 -1
- package/lib/esm/common/utils/getConfiguration.js.map +0 -1
- package/lib/esm/common/utils/getConstructorDependencies.js.map +0 -1
- package/lib/esm/common/utils/providerBuilder.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/node/decorators/injectContext.js.map +0 -1
- package/lib/esm/node/domain/ContextLogger.js.map +0 -1
- package/lib/esm/node/domain/DIContext.js.map +0 -1
- package/lib/esm/node/fn/context.js.map +0 -1
- package/lib/esm/node/fn/contextLogger.js.map +0 -1
- package/lib/esm/node/index.js.map +0 -1
- package/lib/esm/node/interfaces/AlterRunInContext.js.map +0 -1
- package/lib/esm/node/services/DILogger.js.map +0 -1
- package/lib/esm/node/services/DITest.js.map +0 -1
- package/lib/esm/node/utils/asyncHookContext.js.map +0 -1
- package/lib/esm/node/utils/attachLogger.js.map +0 -1
- package/lib/esm/node/utils/setLoggerConfiguration.js.map +0 -1
- package/lib/esm/node/utils/setLoggerFormat.js.map +0 -1
- package/lib/esm/node/utils/setLoggerLevel.js.map +0 -1
- package/src/common/constants/constants.ts +0 -5
- package/src/common/decorators/autoInjectable.spec.ts +0 -135
- package/src/common/decorators/autoInjectable.ts +0 -60
- package/src/common/decorators/configuration.spec.ts +0 -45
- package/src/common/decorators/configuration.ts +0 -36
- package/src/common/decorators/constant.spec.ts +0 -67
- package/src/common/decorators/constant.ts +0 -73
- package/src/common/decorators/controller.spec.ts +0 -43
- package/src/common/decorators/controller.ts +0 -73
- package/src/common/decorators/inject.spec.ts +0 -298
- package/src/common/decorators/inject.ts +0 -150
- package/src/common/decorators/injectable.spec.ts +0 -43
- package/src/common/decorators/injectable.ts +0 -30
- package/src/common/decorators/intercept.spec.ts +0 -150
- package/src/common/decorators/intercept.ts +0 -89
- package/src/common/decorators/interceptor.ts +0 -17
- package/src/common/decorators/lazyInject.spec.ts +0 -53
- package/src/common/decorators/lazyInject.ts +0 -92
- package/src/common/decorators/module.ts +0 -52
- package/src/common/decorators/opts.ts +0 -51
- package/src/common/decorators/overrideProvider.spec.ts +0 -30
- package/src/common/decorators/overrideProvider.ts +0 -15
- package/src/common/decorators/scope.spec.ts +0 -25
- package/src/common/decorators/scope.ts +0 -13
- package/src/common/decorators/service.ts +0 -14
- package/src/common/decorators/useOpts.spec.ts +0 -90
- package/src/common/decorators/useOpts.ts +0 -64
- package/src/common/decorators/value.spec.ts +0 -59
- package/src/common/decorators/value.ts +0 -60
- package/src/common/domain/Container.spec.ts +0 -85
- package/src/common/domain/Container.ts +0 -80
- package/src/common/domain/ControllerProvider.spec.ts +0 -55
- package/src/common/domain/ControllerProvider.ts +0 -48
- package/src/common/domain/InjectablePropertyType.ts +0 -7
- package/src/common/domain/LocalsContainer.spec.ts +0 -20
- package/src/common/domain/LocalsContainer.ts +0 -11
- package/src/common/domain/Provider.spec.ts +0 -107
- package/src/common/domain/Provider.ts +0 -218
- package/src/common/domain/ProviderScope.ts +0 -5
- package/src/common/domain/ProviderType.ts +0 -8
- package/src/common/errors/InjectionError.spec.ts +0 -17
- package/src/common/errors/InjectionError.ts +0 -71
- package/src/common/errors/InvalidPropertyTokenError.ts +0 -14
- package/src/common/fn/configuration.spec.ts +0 -42
- package/src/common/fn/configuration.ts +0 -22
- package/src/common/fn/constant.spec.ts +0 -37
- package/src/common/fn/constant.ts +0 -7
- package/src/common/fn/inject.spec.ts +0 -54
- package/src/common/fn/inject.ts +0 -32
- package/src/common/fn/injectMany.ts +0 -16
- package/src/common/fn/injectable.spec.ts +0 -88
- package/src/common/fn/injectable.ts +0 -15
- package/src/common/fn/injector.ts +0 -26
- package/src/common/fn/lazyInject.spec.ts +0 -22
- package/src/common/fn/lazyInject.ts +0 -36
- package/src/common/fn/localsContainer.ts +0 -55
- package/src/common/fn/logger.ts +0 -8
- package/src/common/fn/refValue.spec.ts +0 -47
- package/src/common/fn/refValue.ts +0 -33
- package/src/common/index.ts +0 -64
- package/src/common/integration/async-factory.spec.ts +0 -60
- package/src/common/integration/di.spec.ts +0 -153
- package/src/common/integration/imports.spec.ts +0 -39
- package/src/common/integration/request.spec.ts +0 -79
- package/src/common/integration/singleton.spec.ts +0 -125
- package/src/common/interfaces/DIConfigurationOptions.ts +0 -29
- package/src/common/interfaces/DILogger.ts +0 -13
- package/src/common/interfaces/DILoggerOptions.ts +0 -54
- package/src/common/interfaces/ImportTokenProviderOpts.ts +0 -29
- package/src/common/interfaces/InterceptorContext.ts +0 -13
- package/src/common/interfaces/InterceptorMethods.ts +0 -5
- package/src/common/interfaces/InvokeOptions.ts +0 -28
- package/src/common/interfaces/OnDestroy.ts +0 -3
- package/src/common/interfaces/OnInit.ts +0 -3
- package/src/common/interfaces/ProviderOpts.ts +0 -57
- package/src/common/interfaces/RegistrySettings.ts +0 -11
- package/src/common/interfaces/ResolvedInvokeOptions.ts +0 -14
- package/src/common/interfaces/TokenProvider.ts +0 -8
- package/src/common/interfaces/TokenRoute.ts +0 -6
- package/src/common/registries/GlobalProviders.spec.ts +0 -94
- package/src/common/registries/GlobalProviders.ts +0 -132
- package/src/common/registries/ProviderRegistry.spec.ts +0 -36
- package/src/common/registries/ProviderRegistry.ts +0 -32
- package/src/common/services/DIConfiguration.spec.ts +0 -60
- package/src/common/services/DIConfiguration.ts +0 -142
- package/src/common/services/DILogger.spec.ts +0 -22
- package/src/common/services/DILogger.ts +0 -8
- package/src/common/services/InjectorService.spec.ts +0 -793
- package/src/common/services/InjectorService.ts +0 -612
- package/src/common/utils/colors.spec.ts +0 -9
- package/src/common/utils/colors.ts +0 -11
- package/src/common/utils/createContainer.spec.ts +0 -18
- package/src/common/utils/createContainer.ts +0 -14
- package/src/common/utils/discoverHooks.ts +0 -16
- package/src/common/utils/getConfiguration.spec.ts +0 -40
- package/src/common/utils/getConfiguration.ts +0 -21
- package/src/common/utils/getConstructorDependencies.ts +0 -9
- package/src/common/utils/providerBuilder.ts +0 -95
- package/src/index.ts +0 -2
- package/src/node/decorators/injectContext.spec.ts +0 -60
- package/src/node/decorators/injectContext.ts +0 -29
- package/src/node/domain/ContextLogger.spec.ts +0 -400
- package/src/node/domain/ContextLogger.ts +0 -155
- package/src/node/domain/DIContext.spec.ts +0 -105
- package/src/node/domain/DIContext.ts +0 -115
- package/src/node/fn/context.ts +0 -24
- package/src/node/fn/contextLogger.spec.ts +0 -47
- package/src/node/fn/contextLogger.ts +0 -9
- package/src/node/index.ts +0 -16
- package/src/node/integration/async-factory-invoke.spec.ts +0 -58
- package/src/node/integration/inject-context.spec.ts +0 -29
- package/src/node/integration/invoke-oninit.spec.ts +0 -25
- package/src/node/interfaces/AlterRunInContext.ts +0 -3
- package/src/node/services/DILogger.spec.ts +0 -24
- package/src/node/services/DILogger.ts +0 -6
- package/src/node/services/DITest.spec.ts +0 -109
- package/src/node/services/DITest.ts +0 -122
- package/src/node/utils/asyncHookContext.spec.ts +0 -147
- package/src/node/utils/asyncHookContext.ts +0 -48
- package/src/node/utils/attachLogger.spec.ts +0 -14
- package/src/node/utils/attachLogger.ts +0 -7
- package/src/node/utils/setLoggerConfiguration.spec.ts +0 -43
- package/src/node/utils/setLoggerConfiguration.ts +0 -7
- package/src/node/utils/setLoggerFormat.ts +0 -33
- package/src/node/utils/setLoggerLevel.ts +0 -12
- package/vite.config.mts +0 -45
- package/vitest.config.mts +0 -21
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {LocalsContainer} from "../domain/LocalsContainer.js";
|
|
2
|
-
import {Provider} from "../domain/Provider.js";
|
|
3
|
-
import {ProviderType} from "../domain/ProviderType.js";
|
|
4
|
-
import {InjectorService} from "../services/InjectorService.js";
|
|
5
|
-
import {GlobalProviderRegistry, GlobalProviders} from "./GlobalProviders.js";
|
|
6
|
-
import {registerProvider} from "./ProviderRegistry.js";
|
|
7
|
-
|
|
8
|
-
describe("GlobalProviderRegistry", () => {
|
|
9
|
-
describe("createRegistry()", () => {
|
|
10
|
-
it("should create registry", () => {
|
|
11
|
-
// GIVEN
|
|
12
|
-
const providers = new GlobalProviderRegistry();
|
|
13
|
-
|
|
14
|
-
// WHEN
|
|
15
|
-
providers.createRegistry("test", Provider, {});
|
|
16
|
-
|
|
17
|
-
// THEN
|
|
18
|
-
expect(providers.getRegistrySettings("test")).toEqual({
|
|
19
|
-
model: Provider
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe("getRegistrySettings()", () => {
|
|
24
|
-
it("should get registry from provider type (CONTROLLER)", () => {
|
|
25
|
-
// GIVEN
|
|
26
|
-
const providers = new GlobalProviderRegistry();
|
|
27
|
-
providers.createRegistry(ProviderType.CONTROLLER, Provider, {});
|
|
28
|
-
|
|
29
|
-
const provider = new Provider(Symbol.for("token"));
|
|
30
|
-
provider.type = ProviderType.CONTROLLER;
|
|
31
|
-
|
|
32
|
-
providers.set(Symbol.for("token"), provider);
|
|
33
|
-
|
|
34
|
-
// WHEN
|
|
35
|
-
const settings = providers.getRegistrySettings(Symbol.for("token"));
|
|
36
|
-
|
|
37
|
-
// THEN
|
|
38
|
-
expect(settings).toEqual({
|
|
39
|
-
model: Provider
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
it("should get registry from provider type (PROVIDER)", () => {
|
|
43
|
-
// GIVEN
|
|
44
|
-
const providers = new GlobalProviderRegistry();
|
|
45
|
-
const provider = new Provider("token");
|
|
46
|
-
provider.type = ProviderType.PROVIDER;
|
|
47
|
-
// WHEN
|
|
48
|
-
const settings = providers.getRegistrySettings(provider as never);
|
|
49
|
-
|
|
50
|
-
// THEN
|
|
51
|
-
expect(settings).toEqual({
|
|
52
|
-
model: Provider
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe("merge()", () => {
|
|
57
|
-
it("should create new metadata", () => {
|
|
58
|
-
const registry = new GlobalProviderRegistry();
|
|
59
|
-
const clazz = class {};
|
|
60
|
-
|
|
61
|
-
registry.merge(clazz, {attr1: 1});
|
|
62
|
-
expect(registry.get(clazz)?.attr1).toEqual(1);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it("should merge metadata", () => {
|
|
66
|
-
const registry = new GlobalProviderRegistry();
|
|
67
|
-
const clazz = class {};
|
|
68
|
-
registry.merge(clazz, {attr1: 1});
|
|
69
|
-
registry.merge(clazz, {attr2: 2});
|
|
70
|
-
|
|
71
|
-
expect(registry.get(clazz)?.attr1).toEqual(1);
|
|
72
|
-
expect(registry.get(clazz)?.attr2).toEqual(2);
|
|
73
|
-
|
|
74
|
-
registry.delete(clazz);
|
|
75
|
-
|
|
76
|
-
expect(registry.get(clazz)).toBeUndefined();
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
describe("hooks", () => {
|
|
80
|
-
it("should collect hooks", () => {
|
|
81
|
-
class MyService {
|
|
82
|
-
$onInit() {}
|
|
83
|
-
|
|
84
|
-
$onReady() {}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const provider = registerProvider({
|
|
88
|
-
token: MyService
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
expect(Object.keys(provider.hooks || {})).toEqual(["$onInit", "$onReady"]);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
});
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import {Type} from "@tsed/core/types/Type.js";
|
|
2
|
-
import {getClassOrSymbol} from "@tsed/core/utils/getClassOrSymbol.js";
|
|
3
|
-
|
|
4
|
-
import {Provider} from "../domain/Provider.js";
|
|
5
|
-
import {ProviderType} from "../domain/ProviderType.js";
|
|
6
|
-
import {ProviderOpts} from "../interfaces/ProviderOpts.js";
|
|
7
|
-
import {RegistrySettings} from "../interfaces/RegistrySettings.js";
|
|
8
|
-
import {TokenProvider} from "../interfaces/TokenProvider.js";
|
|
9
|
-
|
|
10
|
-
export class GlobalProviderRegistry extends Map<TokenProvider, Provider> {
|
|
11
|
-
#settings: Map<TokenProvider, RegistrySettings> = new Map();
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The get() method returns a specified element from a Map object.
|
|
15
|
-
* @param key Required. The key of the element to return from the Map object.
|
|
16
|
-
* @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object.
|
|
17
|
-
*/
|
|
18
|
-
get(key: TokenProvider): Provider | undefined {
|
|
19
|
-
return super.get(getClassOrSymbol(key));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* The has() method returns a boolean indicating whether an element with the specified key exists or not.
|
|
24
|
-
* @param key
|
|
25
|
-
* @returns {boolean}
|
|
26
|
-
*/
|
|
27
|
-
has(key: TokenProvider): boolean {
|
|
28
|
-
return super.has(getClassOrSymbol(key));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The set() method adds or updates an element with a specified key and value to a Map object.
|
|
33
|
-
* @param key Required. The key of the element to add to the Map object.
|
|
34
|
-
* @param metadata Required. The value of the element to add to the Map object.
|
|
35
|
-
*/
|
|
36
|
-
set(key: TokenProvider, metadata: Provider): this {
|
|
37
|
-
super.set(getClassOrSymbol(key), metadata);
|
|
38
|
-
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
*
|
|
44
|
-
* @param target
|
|
45
|
-
* @param options
|
|
46
|
-
*/
|
|
47
|
-
merge(target: TokenProvider, options: Partial<ProviderOpts>) {
|
|
48
|
-
if (options.global === false) {
|
|
49
|
-
return GlobalProviders.createProvider(target, options);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const meta = this.createIfNotExists(target, options);
|
|
53
|
-
|
|
54
|
-
Object.keys(options).forEach((key) => {
|
|
55
|
-
meta[key] = (options as never)[key];
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
this.set(target, meta);
|
|
59
|
-
|
|
60
|
-
return meta;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* The delete() method removes the specified element from a Map object.
|
|
65
|
-
* @param key Required. The key of the element to remove from the Map object.
|
|
66
|
-
* @returns {boolean} Returns true if an element in the Map object existed and has been removed, or false if the element does not exist.
|
|
67
|
-
*/
|
|
68
|
-
delete(key: TokenProvider): boolean {
|
|
69
|
-
return super.delete(getClassOrSymbol(key));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
createRegistry(type: string | symbol, model: Type<Provider>, options: Partial<RegistrySettings> = {}) {
|
|
73
|
-
const defaultOptions = this.getRegistrySettings(type);
|
|
74
|
-
|
|
75
|
-
options = Object.assign(defaultOptions, {
|
|
76
|
-
...options,
|
|
77
|
-
model
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
this.#settings.set(type, options);
|
|
81
|
-
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
getRegistrySettings(target: TokenProvider): RegistrySettings {
|
|
86
|
-
let type: TokenProvider | ProviderType = ProviderType.PROVIDER;
|
|
87
|
-
|
|
88
|
-
if (typeof target === "string") {
|
|
89
|
-
type = target;
|
|
90
|
-
} else {
|
|
91
|
-
const provider = this.get(target);
|
|
92
|
-
if (provider) {
|
|
93
|
-
type = provider.type;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return (
|
|
98
|
-
this.#settings.get(type) || {
|
|
99
|
-
model: Provider
|
|
100
|
-
}
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
protected createProvider(key: TokenProvider, options: Partial<ProviderOpts<any>>) {
|
|
105
|
-
const type = options.type || ProviderType.PROVIDER;
|
|
106
|
-
const {model = Provider} = this.#settings.get(type) || {};
|
|
107
|
-
|
|
108
|
-
return new model(key, options);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
*
|
|
113
|
-
* @param key
|
|
114
|
-
* @param options
|
|
115
|
-
*/
|
|
116
|
-
protected createIfNotExists(key: TokenProvider, options: Partial<ProviderOpts>): Provider {
|
|
117
|
-
if (!this.has(key)) {
|
|
118
|
-
const item = this.createProvider(key, options);
|
|
119
|
-
|
|
120
|
-
this.set(key, item);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return this.get(key)!;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
*
|
|
129
|
-
* @type {GlobalProviders}
|
|
130
|
-
*/
|
|
131
|
-
// tslint:disable-next-line: variable-name
|
|
132
|
-
export const GlobalProviders = new GlobalProviderRegistry();
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {GlobalProviders} from "./GlobalProviders.js";
|
|
2
|
-
import {registerProvider} from "./ProviderRegistry.js";
|
|
3
|
-
|
|
4
|
-
describe("ProviderRegistry", () => {
|
|
5
|
-
describe("registerProvider()", () => {
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
vi.spyOn(GlobalProviders, "merge");
|
|
8
|
-
vi.spyOn(GlobalProviders, "has").mockReturnValue(false);
|
|
9
|
-
});
|
|
10
|
-
afterEach(() => {
|
|
11
|
-
vi.resetAllMocks();
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it("should add provider (token)", () => {
|
|
15
|
-
class Test {}
|
|
16
|
-
|
|
17
|
-
registerProvider({token: Test});
|
|
18
|
-
|
|
19
|
-
expect(GlobalProviders.merge).toHaveBeenCalledWith(Test, {
|
|
20
|
-
token: Test,
|
|
21
|
-
global: true
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("should add provider (provide)", () => {
|
|
26
|
-
class Test {}
|
|
27
|
-
|
|
28
|
-
registerProvider({provide: Test});
|
|
29
|
-
|
|
30
|
-
expect(GlobalProviders.merge).toHaveBeenCalledWith(Test, {
|
|
31
|
-
token: Test,
|
|
32
|
-
global: true
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {ControllerProvider} from "../domain/ControllerProvider.js";
|
|
2
|
-
import {ProviderType} from "../domain/ProviderType.js";
|
|
3
|
-
import {injectable} from "../fn/injectable.js";
|
|
4
|
-
import type {ProviderOpts} from "../interfaces/ProviderOpts.js";
|
|
5
|
-
import type {TokenProvider} from "../interfaces/TokenProvider.js";
|
|
6
|
-
import {GlobalProviders} from "./GlobalProviders.js";
|
|
7
|
-
|
|
8
|
-
GlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider);
|
|
9
|
-
|
|
10
|
-
type Opts<Type = any> = Partial<ProviderOpts<Type>> &
|
|
11
|
-
(
|
|
12
|
-
| {
|
|
13
|
-
token: TokenProvider<Type>;
|
|
14
|
-
}
|
|
15
|
-
| {
|
|
16
|
-
/**
|
|
17
|
-
* @deprecated use token prop instead
|
|
18
|
-
*/
|
|
19
|
-
provide: TokenProvider<Type>;
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Register a provider configuration.
|
|
25
|
-
* @deprecated Since v8. Use injectable() function instead.
|
|
26
|
-
*/
|
|
27
|
-
export function registerProvider<Type = any>({token, provide, ...opts}: Opts<Type>) {
|
|
28
|
-
return injectable(token || provide, {
|
|
29
|
-
...opts,
|
|
30
|
-
token: token || provide
|
|
31
|
-
} as unknown as Partial<ProviderOpts>).inspect();
|
|
32
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import {Env} from "@tsed/core";
|
|
2
|
-
|
|
3
|
-
import {DIConfiguration} from "./DIConfiguration.js";
|
|
4
|
-
|
|
5
|
-
describe("DIConfiguration", () => {
|
|
6
|
-
describe("version()", () => {
|
|
7
|
-
it("should get version", () => {
|
|
8
|
-
// GIVEN
|
|
9
|
-
const configuration = new DIConfiguration();
|
|
10
|
-
|
|
11
|
-
configuration.version = "1.0.0";
|
|
12
|
-
expect(configuration.version).toEqual("1.0.0");
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
describe("env()", () => {
|
|
16
|
-
it("should get env", () => {
|
|
17
|
-
// GIVEN
|
|
18
|
-
const configuration = new DIConfiguration();
|
|
19
|
-
|
|
20
|
-
configuration.env = Env.DEV;
|
|
21
|
-
expect(configuration.env).toEqual(Env.DEV);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe("debug()", () => {
|
|
25
|
-
it("should return debug", () => {
|
|
26
|
-
// GIVEN
|
|
27
|
-
const configuration = new DIConfiguration();
|
|
28
|
-
|
|
29
|
-
configuration.debug = true;
|
|
30
|
-
expect(configuration.debug).toEqual(true);
|
|
31
|
-
|
|
32
|
-
configuration.debug = false;
|
|
33
|
-
expect(configuration.debug).toEqual(false);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
describe("forEach()", () => {
|
|
37
|
-
it("should return all key, value", () => {
|
|
38
|
-
// GIVEN
|
|
39
|
-
const configuration = new DIConfiguration();
|
|
40
|
-
const obj: any = {};
|
|
41
|
-
configuration.forEach((value, key) => {
|
|
42
|
-
obj[key] = value;
|
|
43
|
-
});
|
|
44
|
-
expect(obj).toEqual({
|
|
45
|
-
imports: [],
|
|
46
|
-
logger: {},
|
|
47
|
-
routes: []
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe("imports()", () => {
|
|
52
|
-
it("should get imports", () => {
|
|
53
|
-
// GIVEN
|
|
54
|
-
const configuration = new DIConfiguration();
|
|
55
|
-
|
|
56
|
-
configuration.imports = [];
|
|
57
|
-
expect(configuration.imports).toEqual([]);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import {Env} from "@tsed/core/types/Env.js";
|
|
2
|
-
import {getValue} from "@tsed/core/utils/getValue.js";
|
|
3
|
-
import {setValue} from "@tsed/core/utils/setValue.js";
|
|
4
|
-
|
|
5
|
-
import type {DILoggerOptions} from "../interfaces/DILoggerOptions.js";
|
|
6
|
-
import type {ImportTokenProviderOpts} from "../interfaces/ImportTokenProviderOpts.js";
|
|
7
|
-
import type {TokenProvider} from "../interfaces/TokenProvider.js";
|
|
8
|
-
import type {TokenRoute} from "../interfaces/TokenRoute.js";
|
|
9
|
-
|
|
10
|
-
export const CONFIGURATION = Symbol.for("CONFIGURATION");
|
|
11
|
-
|
|
12
|
-
export class DIConfiguration {
|
|
13
|
-
readonly default: Map<string, any> = new Map();
|
|
14
|
-
protected map: Map<string, any> = new Map();
|
|
15
|
-
|
|
16
|
-
constructor(initialProps = {}) {
|
|
17
|
-
Object.entries({
|
|
18
|
-
imports: [],
|
|
19
|
-
routes: [],
|
|
20
|
-
logger: {},
|
|
21
|
-
...initialProps
|
|
22
|
-
}).forEach(([key, value]) => {
|
|
23
|
-
this.default.set(key, value);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
get version() {
|
|
28
|
-
return this.get("version")!;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
set version(v: string) {
|
|
32
|
-
this.map.set("version", v);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
get rootDir() {
|
|
36
|
-
return this.get("rootDir")!;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
set rootDir(value: string) {
|
|
40
|
-
this.map.set("rootDir", value);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
get env(): Env {
|
|
44
|
-
return this.map.get("env");
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
set env(value: Env) {
|
|
48
|
-
this.map.set("env", value);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
get imports(): (TokenProvider | ImportTokenProviderOpts)[] {
|
|
52
|
-
return this.get("imports")!;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
set imports(imports: (TokenProvider | ImportTokenProviderOpts)[]) {
|
|
56
|
-
this.map.set("imports", imports);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
get routes(): TokenRoute[] {
|
|
60
|
-
return this.get("routes")!;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
set routes(routes: TokenRoute[]) {
|
|
64
|
-
this.map.set("routes", routes);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
get logger(): Partial<DILoggerOptions> {
|
|
68
|
-
return this.get("logger")!;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
set logger(value: Partial<DILoggerOptions>) {
|
|
72
|
-
const logger = {...this.logger, ...value};
|
|
73
|
-
this.map.set("logger", logger);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
get debug(): boolean {
|
|
77
|
-
return this.logger.level === "debug";
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
set debug(debug: boolean) {
|
|
81
|
-
this.logger = {...this.logger, level: debug ? "debug" : "info"};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
* @param callbackfn
|
|
87
|
-
* @param thisArg
|
|
88
|
-
*/
|
|
89
|
-
forEach(callbackfn: (value: any, index: string, map: Map<string, any>) => void, thisArg?: any) {
|
|
90
|
-
return new Set([...Array.from(this.default.keys()), ...Array.from(this.map.keys())]).forEach((key) => {
|
|
91
|
-
callbackfn(this.getRaw(key), key, this.map);
|
|
92
|
-
}, thisArg);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
*
|
|
97
|
-
* @param propertyKey
|
|
98
|
-
* @param value
|
|
99
|
-
*/
|
|
100
|
-
set(propertyKey: string | Partial<TsED.Configuration>, value?: any): this {
|
|
101
|
-
if (typeof propertyKey === "string") {
|
|
102
|
-
if (Reflect.has(this, propertyKey)) {
|
|
103
|
-
// @ts-ignore
|
|
104
|
-
this[propertyKey] = value;
|
|
105
|
-
} else {
|
|
106
|
-
this.setRaw(propertyKey, value);
|
|
107
|
-
}
|
|
108
|
-
} else {
|
|
109
|
-
Object.entries(propertyKey).forEach(([key, value]) => {
|
|
110
|
-
this.set(key, value);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return this;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
setRaw(propertyKey: string, value: any) {
|
|
118
|
-
setValue(this.map, propertyKey, value);
|
|
119
|
-
|
|
120
|
-
return this;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
*
|
|
125
|
-
* @param propertyKey
|
|
126
|
-
* @param defaultValue
|
|
127
|
-
* @returns {undefined|any}
|
|
128
|
-
*/
|
|
129
|
-
get<T = any>(propertyKey: string, defaultValue?: T): T {
|
|
130
|
-
return this.getRaw(propertyKey, defaultValue);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
protected getRaw(propertyKey: string, defaultValue?: any): any {
|
|
134
|
-
const value = getValue(this.map, propertyKey);
|
|
135
|
-
|
|
136
|
-
if (value !== undefined) {
|
|
137
|
-
return value;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return getValue(this.default, propertyKey, defaultValue);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {Container, destroyInjector, Inject, Injectable, injector, LOGGER} from "../../common/index.js";
|
|
2
|
-
|
|
3
|
-
describe("DILogger", () => {
|
|
4
|
-
afterEach(() => destroyInjector());
|
|
5
|
-
it("should inject logger in another service", async () => {
|
|
6
|
-
@Injectable()
|
|
7
|
-
class MyService {
|
|
8
|
-
@Inject(LOGGER)
|
|
9
|
-
logger: LOGGER;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
injector().logger = console;
|
|
13
|
-
|
|
14
|
-
const container = new Container();
|
|
15
|
-
container.add(MyService);
|
|
16
|
-
|
|
17
|
-
await injector().load(container);
|
|
18
|
-
const logger = injector().get(MyService)!.logger;
|
|
19
|
-
|
|
20
|
-
expect(logger).toEqual(injector().logger);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import {injectable} from "../fn/injectable.js";
|
|
2
|
-
import {injector} from "../fn/injector.js";
|
|
3
|
-
import {DILogger} from "../interfaces/DILogger.js";
|
|
4
|
-
|
|
5
|
-
export const LOGGER = Symbol.for("LOGGER");
|
|
6
|
-
export type LOGGER = DILogger;
|
|
7
|
-
|
|
8
|
-
injectable(LOGGER).factory(() => injector().logger);
|