@tsed/di 6.68.1 → 6.69.0-rc.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.
- package/lib/index.js +2537 -23
- package/lib/index.js.map +1 -1
- package/lib/index.modern.js +2474 -0
- package/lib/index.modern.js.map +1 -0
- package/lib/registries/GlobalProviders.d.ts +1 -1
- package/package.json +11 -8
- package/lib/constants/index.js +0 -7
- package/lib/constants/index.js.map +0 -1
- package/lib/decorators/configuration.js +0 -24
- package/lib/decorators/configuration.js.map +0 -1
- package/lib/decorators/constant.js +0 -55
- package/lib/decorators/constant.js.map +0 -1
- package/lib/decorators/index.js +0 -17
- package/lib/decorators/index.js.map +0 -1
- package/lib/decorators/inject.js +0 -60
- package/lib/decorators/inject.js.map +0 -1
- package/lib/decorators/injectable.js +0 -33
- package/lib/decorators/injectable.js.map +0 -1
- package/lib/decorators/intercept.js +0 -28
- package/lib/decorators/intercept.js.map +0 -1
- package/lib/decorators/interceptor.js +0 -21
- package/lib/decorators/interceptor.js.map +0 -1
- package/lib/decorators/module.js +0 -31
- package/lib/decorators/module.js.map +0 -1
- package/lib/decorators/opts.js +0 -54
- package/lib/decorators/opts.js.map +0 -1
- package/lib/decorators/overrideProvider.js +0 -17
- package/lib/decorators/overrideProvider.js.map +0 -1
- package/lib/decorators/scope.js +0 -16
- package/lib/decorators/scope.js.map +0 -1
- package/lib/decorators/service.js +0 -18
- package/lib/decorators/service.js.map +0 -1
- package/lib/decorators/useOpts.js +0 -65
- package/lib/decorators/useOpts.js.map +0 -1
- package/lib/decorators/value.js +0 -55
- package/lib/decorators/value.js.map +0 -1
- package/lib/domain/Container.js +0 -69
- package/lib/domain/Container.js.map +0 -1
- package/lib/domain/ContextLogger.js +0 -92
- package/lib/domain/ContextLogger.js.map +0 -1
- package/lib/domain/DIContext.js +0 -45
- package/lib/domain/DIContext.js.map +0 -1
- package/lib/domain/InjectablePropertyType.js +0 -12
- package/lib/domain/InjectablePropertyType.js.map +0 -1
- package/lib/domain/LocalsContainer.js +0 -55
- package/lib/domain/LocalsContainer.js.map +0 -1
- package/lib/domain/Provider.js +0 -173
- package/lib/domain/Provider.js.map +0 -1
- package/lib/domain/ProviderScope.js +0 -10
- package/lib/domain/ProviderScope.js.map +0 -1
- package/lib/domain/ProviderType.js +0 -15
- package/lib/domain/ProviderType.js.map +0 -1
- package/lib/domain/index.js +0 -12
- package/lib/domain/index.js.map +0 -1
- package/lib/errors/InjectionError.js +0 -59
- package/lib/errors/InjectionError.js.map +0 -1
- package/lib/errors/UndefinedTokenError.js +0 -11
- package/lib/errors/UndefinedTokenError.js.map +0 -1
- package/lib/interfaces/DIConfigurationOptions.js +0 -3
- package/lib/interfaces/DIConfigurationOptions.js.map +0 -1
- package/lib/interfaces/DILogger.js +0 -3
- package/lib/interfaces/DILogger.js.map +0 -1
- package/lib/interfaces/DIResolver.js +0 -3
- package/lib/interfaces/DIResolver.js.map +0 -1
- package/lib/interfaces/IProvider.js +0 -3
- package/lib/interfaces/IProvider.js.map +0 -1
- package/lib/interfaces/InjectableProperties.js +0 -3
- package/lib/interfaces/InjectableProperties.js.map +0 -1
- package/lib/interfaces/InterceptorContext.js +0 -3
- package/lib/interfaces/InterceptorContext.js.map +0 -1
- package/lib/interfaces/InterceptorMethods.js +0 -3
- package/lib/interfaces/InterceptorMethods.js.map +0 -1
- package/lib/interfaces/InvokeOptions.js +0 -3
- package/lib/interfaces/InvokeOptions.js.map +0 -1
- package/lib/interfaces/OnDestroy.js +0 -3
- package/lib/interfaces/OnDestroy.js.map +0 -1
- package/lib/interfaces/OnInit.js +0 -3
- package/lib/interfaces/OnInit.js.map +0 -1
- package/lib/interfaces/RegistrySettings.js +0 -3
- package/lib/interfaces/RegistrySettings.js.map +0 -1
- package/lib/interfaces/TokenProvider.js +0 -3
- package/lib/interfaces/TokenProvider.js.map +0 -1
- package/lib/interfaces/index.js +0 -17
- package/lib/interfaces/index.js.map +0 -1
- package/lib/registries/GlobalProviders.js +0 -124
- package/lib/registries/GlobalProviders.js.map +0 -1
- package/lib/registries/ProviderRegistry.js +0 -181
- package/lib/registries/ProviderRegistry.js.map +0 -1
- package/lib/services/DIConfiguration.js +0 -129
- package/lib/services/DIConfiguration.js.map +0 -1
- package/lib/services/DILogger.js +0 -13
- package/lib/services/DILogger.js.map +0 -1
- package/lib/services/DITest.js +0 -100
- package/lib/services/DITest.js.map +0 -1
- package/lib/services/InjectorService.js +0 -543
- package/lib/services/InjectorService.js.map +0 -1
- package/lib/utils/cleanGlobPatterns.js +0 -30
- package/lib/utils/cleanGlobPatterns.js.map +0 -1
- package/lib/utils/createContainer.js +0 -14
- package/lib/utils/createContainer.js.map +0 -1
- package/lib/utils/data/Test1.d.ts +0 -3
- package/lib/utils/data/Test1.js +0 -8
- package/lib/utils/data/Test1.js.map +0 -1
- package/lib/utils/data/Test2.d.ts +0 -3
- package/lib/utils/data/Test2.js +0 -8
- package/lib/utils/data/Test2.js.map +0 -1
- package/lib/utils/getConfiguration.js +0 -20
- package/lib/utils/getConfiguration.js.map +0 -1
- package/lib/utils/importComponents.js +0 -50
- package/lib/utils/importComponents.js.map +0 -1
- package/lib/utils/importFiles.js +0 -28
- package/lib/utils/importFiles.js.map +0 -1
- package/lib/utils/importProviders.js +0 -29
- package/lib/utils/importProviders.js.map +0 -1
- package/lib/utils/setLoggerLevel.js +0 -16
- package/lib/utils/setLoggerLevel.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InjectorService.js","sourceRoot":"","sources":["../../src/services/InjectorService.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ancestorsOf,\n classOf,\n deepClone,\n deepMerge,\n getClassOrSymbol,\n isFunction,\n isInheritedFrom,\n isPromise,\n Metadata,\n nameOf,\n prototypeOf,\n Store\n} from \"@tsed/core\";\nimport {DI_PARAM_OPTIONS, INJECTABLE_PROP} from \"../constants\";\nimport {Configuration} from \"../decorators/configuration\";\nimport {Injectable} from \"../decorators/injectable\";\nimport {DIContext, InjectablePropertyType, ProviderScope} from \"../domain\";\nimport {Container} from \"../domain/Container\";\nimport {LocalsContainer} from \"../domain/LocalsContainer\";\nimport {Provider} from \"../domain/Provider\";\nimport {InjectionError} from \"../errors/InjectionError\";\nimport {UndefinedTokenError} from \"../errors/UndefinedTokenError\";\nimport {\n DILogger,\n InjectableProperties,\n InjectablePropertyService,\n InjectablePropertyValue,\n InterceptorContext,\n InterceptorMethods,\n InvokeOptions,\n IProvider,\n TokenProvider\n} from \"../interfaces\";\nimport {GlobalProviders} from \"../registries/GlobalProviders\";\nimport {createContainer} from \"../utils/createContainer\";\nimport {DIConfiguration} from \"./DIConfiguration\";\n\ninterface InvokeSettings {\n token: TokenProvider;\n parent?: TokenProvider;\n scope: ProviderScope;\n isBindable: boolean;\n deps: TokenProvider[];\n imports: TokenProvider[];\n provider: Provider<any>;\n\n construct(deps: TokenProvider[]): any;\n}\n\n/**\n * This service contain all services collected by `@Service` or services declared manually with `InjectorService.factory()` or `InjectorService.service()`.\n *\n * ### Example:\n *\n * ```typescript\n * import {InjectorService} from \"@tsed/di\";\n *\n * // Import the services (all services are decorated with @Service()\";\n * import MyService1 from \"./services/service1\";\n * import MyService2 from \"./services/service2\";\n * import MyService3 from \"./services/service3\";\n *\n * // When all services is imported you can load InjectorService.\n * const injector = new InjectorService()\n *\n * await injector.load();\n *\n * const myService1 = injector.get<MyService1>(MyServcice1);\n * ```\n */\n@Injectable({\n scope: ProviderScope.SINGLETON,\n global: true\n})\nexport class InjectorService extends Container {\n public settings: TsED.Configuration & DIConfiguration = new DIConfiguration() as any;\n public logger: DILogger = console;\n private resolvedConfiguration: boolean = false;\n\n constructor() {\n super();\n const provider = this.addProvider(InjectorService).getProvider(InjectorService)!;\n provider.instance = this;\n }\n\n get resolvers() {\n return this.settings.resolvers!;\n }\n\n get scopes() {\n return this.settings.scopes || {};\n }\n\n /**\n * Retrieve default scope for a given provider.\n * @param provider\n */\n public scopeOf(provider: Provider) {\n return provider.scope || this.scopes[provider.type] || ProviderScope.SINGLETON;\n }\n\n /**\n * Clone a provider from GlobalProviders and the given token. forkProvider method build automatically the provider if the instance parameter ins't given.\n * @param token\n * @param settings\n */\n public forkProvider(token: TokenProvider, settings: Partial<IProvider<any>> = {}): Provider {\n if (!this.hasProvider(token)) {\n this.addProvider(token);\n }\n\n const provider = this.getProvider(token)!;\n\n Object.assign(provider, settings);\n\n provider.instance = this.invoke(token);\n\n return provider;\n }\n\n /**\n * Return a list of instance build by the injector.\n */\n public toArray(): any[] {\n return super.toArray().map((provider) => provider.instance);\n }\n\n /**\n * Get a service or factory already constructed from his symbol or class.\n *\n * #### Example\n *\n * ```typescript\n * import {InjectorService} from \"@tsed/di\";\n * import MyService from \"./services\";\n *\n * class OtherService {\n * constructor(injectorService: InjectorService) {\n * const myService = injectorService.get<MyService>(MyService);\n * }\n * }\n * ```\n *\n * @param token The class or symbol registered in InjectorService.\n * @param options\n * @returns {boolean}\n */\n get<T = any>(token: TokenProvider, options: any = {}): T | undefined {\n const instance = super.get(getClassOrSymbol(token))?.instance;\n\n if (instance !== undefined) {\n return instance;\n }\n\n if (!this.hasProvider(token)) {\n for (const resolver of this.resolvers) {\n const result = resolver.get(token, options);\n\n if (result !== undefined) {\n return result;\n }\n }\n }\n }\n\n /**\n * The has() method returns a boolean indicating whether an element with the specified key exists or not.\n * @returns {boolean}\n * @param token\n */\n has(token: TokenProvider): boolean {\n return super.has(getClassOrSymbol(token)) && this.get(token) !== undefined;\n }\n\n /**\n * Invoke the class and inject all services that required by the class constructor.\n *\n * #### Example\n *\n * ```typescript\n * import {InjectorService} from \"@tsed/di\";\n * import MyService from \"./services\";\n *\n * class OtherService {\n * constructor(injectorService: InjectorService) {\n * const myService = injectorService.invoke<MyService>(MyService);\n * }\n * }\n * ```\n *\n * @param token The injectable class to invoke. Class parameters are injected according constructor signature.\n * @param locals Optional object. If preset then any argument Class are read from this object first, before the `InjectorService` is consulted.\n * @param options\n * @returns {T} The class constructed.\n */\n public invoke<T>(\n token: TokenProvider,\n locals: Map<TokenProvider, any> = new LocalsContainer(),\n options: Partial<InvokeOptions<T>> = {}\n ): T {\n const provider = this.ensureProvider(token);\n let instance: any;\n\n !locals.has(Configuration) && locals.set(Configuration, this.settings);\n\n if (locals.has(token)) {\n return locals.get(token);\n }\n\n if (token === DI_PARAM_OPTIONS) {\n return {} as T;\n }\n\n if (!provider || options.rebuild) {\n instance = this.resolve(token, locals, options);\n this.hasProvider(token) && (this.getProvider(token)!.instance = instance);\n\n return instance;\n }\n\n switch (this.scopeOf(provider)) {\n case ProviderScope.SINGLETON:\n if (!this.has(token)) {\n provider.instance = this.resolve(token, locals, options);\n\n if (provider.isAsync()) {\n provider.instance.then((instance: any) => {\n provider.instance = instance;\n });\n }\n }\n\n instance = this.get<T>(token)!;\n break;\n\n case ProviderScope.REQUEST:\n instance = this.resolve(token, locals, options);\n locals.set(token, instance);\n break;\n\n case ProviderScope.INSTANCE:\n instance = this.resolve(provider.provide, locals, options);\n break;\n }\n\n return instance;\n }\n\n /**\n * Build only providers which are asynchronous.\n */\n async loadAsync(locals: LocalsContainer<any> = new LocalsContainer()) {\n for (const [, provider] of this) {\n if (!locals.has(provider.token)) {\n if (provider.isAsync()) {\n await this.invoke(provider.token, locals);\n }\n\n if (provider.instance) {\n locals.set(provider.token, provider.instance);\n }\n }\n }\n\n return locals;\n }\n\n loadSync(locals: LocalsContainer<any> = new LocalsContainer()) {\n for (const [, provider] of this) {\n if (!locals.has(provider.token) && this.scopeOf(provider) === ProviderScope.SINGLETON) {\n this.invoke(provider.token, locals);\n }\n\n if (provider.instance !== undefined) {\n locals.set(provider.token, provider.instance);\n }\n }\n\n return locals;\n }\n\n /**\n * Boostrap injector from container and resolve configuration.\n *\n * @param container\n */\n bootstrap(container: Container = createContainer()) {\n // Clone all providers in the container\n this.addProviders(container);\n\n // Resolve all configuration\n this.resolveConfiguration();\n\n return this;\n }\n\n /**\n * Build all providers from given container (or GlobalProviders) and emit `$onInit` event.\n *\n * @param container\n * @param rootModule\n */\n async load(container: Container = createContainer(), rootModule?: TokenProvider): Promise<LocalsContainer<any>> {\n this.bootstrap(container);\n\n // build async and sync provider\n let locals = await this.loadAsync();\n\n if (rootModule) {\n await this.invoke(rootModule);\n }\n\n // load sync provider\n locals = this.loadSync(locals);\n\n await locals.emit(\"$onInit\");\n\n return locals;\n }\n\n /**\n * Load all configurations registered on providers\n */\n resolveConfiguration() {\n if (this.resolvedConfiguration) {\n return;\n }\n const mergedConfiguration = new Map();\n\n super.forEach((provider) => {\n if (provider.configuration) {\n Object.entries(provider.configuration).forEach(([key, value]) => {\n value = mergedConfiguration.has(key) ? deepMerge(mergedConfiguration.get(key), value) : deepClone(value);\n mergedConfiguration.set(key, value);\n });\n }\n if (provider.resolvers) {\n this.resolvers.push(...provider.resolvers);\n }\n });\n\n mergedConfiguration.forEach((value, key) => {\n this.settings[key] = deepMerge(value, this.settings[key]);\n });\n\n this.settings.build();\n\n this.resolvedConfiguration = true;\n }\n\n /**\n *\n * @param instance\n * @param locals\n * @param options\n */\n public bindInjectableProperties(instance: any, locals: Map<TokenProvider, any>, options: Partial<InvokeOptions>) {\n const properties: InjectableProperties = ancestorsOf(classOf(instance)).reduce((properties: any, target: any) => {\n const store = Store.from(target);\n\n return {\n ...properties,\n ...(store.get(INJECTABLE_PROP) || {})\n };\n }, {});\n\n Object.values(properties).forEach((definition) => {\n switch (definition.bindingType) {\n case InjectablePropertyType.METHOD:\n this.bindMethod(instance, definition);\n break;\n case InjectablePropertyType.PROPERTY:\n this.bindProperty(instance, definition, locals, options);\n break;\n case InjectablePropertyType.CONSTANT:\n this.bindConstant(instance, definition);\n break;\n case InjectablePropertyType.VALUE:\n this.bindValue(instance, definition);\n break;\n case InjectablePropertyType.INTERCEPTOR:\n this.bindInterceptor(instance, definition);\n break;\n }\n });\n }\n\n /**\n *\n * @param instance\n * @param {string} propertyKey\n */\n public bindMethod(instance: any, {propertyKey}: InjectablePropertyService) {\n const target = classOf(instance);\n const originalMethod = instance[propertyKey];\n const deps = Metadata.getParamTypes(prototypeOf(target), propertyKey);\n\n instance[propertyKey] = () => {\n const services = deps.map((dependency: any) => this.get(dependency));\n\n return originalMethod.call(instance, ...services);\n };\n }\n\n /**\n * Create an injectable property.\n *\n * @param instance\n * @param {string} propertyKey\n * @param {any} useType\n * @param onGet\n * @param options\n * @param locals\n * @param invokeOptions\n */\n public bindProperty(\n instance: any,\n {propertyKey, useType, onGet = (f: any) => f, options}: InjectablePropertyService,\n locals: Map<TokenProvider, any>,\n invokeOptions: Partial<InvokeOptions>\n ) {\n invokeOptions = {...invokeOptions};\n locals.set(DI_PARAM_OPTIONS, {...options});\n\n let bean: any = this.invoke(useType, locals, invokeOptions);\n\n locals.delete(DI_PARAM_OPTIONS);\n\n if (isPromise(bean)) {\n bean.then((result: any) => {\n bean = result;\n });\n }\n\n Object.defineProperty(instance, propertyKey, {\n get: () => onGet(bean)\n });\n }\n\n /**\n *\n * @param instance\n * @param {string} propertyKey\n * @param {any} useType\n */\n public bindValue(instance: any, {propertyKey, expression, defaultValue}: InjectablePropertyValue) {\n const descriptor = {\n get: () => this.settings.get(expression) || defaultValue,\n set: (value: any) => this.settings.set(expression, value),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(instance, propertyKey, descriptor);\n }\n\n /**\n *\n * @param instance\n * @param {string} propertyKey\n * @param {any} useType\n */\n public bindConstant(instance: any, {propertyKey, expression, defaultValue}: InjectablePropertyValue): PropertyDescriptor {\n const clone = (o: any) => {\n if (o) {\n return Object.freeze(deepClone(o));\n }\n\n return defaultValue;\n };\n\n const descriptor = {\n get: () => clone(this.settings.get(expression)),\n\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(instance, propertyKey, descriptor);\n\n return descriptor;\n }\n\n /**\n *\n * @param instance\n * @param propertyKey\n * @param useType\n * @param options\n */\n public bindInterceptor(instance: any, {propertyKey, useType, options}: InjectablePropertyService) {\n const target = classOf(instance);\n const originalMethod = instance[propertyKey];\n\n instance[propertyKey] = (...args: any[]) => {\n const next = (err?: Error) => {\n if (!err) {\n return originalMethod.apply(instance, args);\n }\n\n throw err;\n };\n\n const context: InterceptorContext<any> = {\n target,\n propertyKey,\n args,\n options,\n next\n };\n\n const interceptor = this.get<InterceptorMethods>(useType)!;\n\n return interceptor.intercept!(\n {\n ...context,\n options\n },\n next\n );\n };\n }\n\n /**\n * Allow handler hack for AsyncHookContext plugin.\n * @param ctx\n * @param cb\n * @protected\n */\n runInContext(ctx: DIContext, cb: any) {\n return cb();\n }\n\n protected ensureProvider(token: TokenProvider): Provider | undefined {\n if (!this.hasProvider(token) && GlobalProviders.has(token)) {\n this.addProvider(token);\n }\n\n return this.getProvider(token)!;\n }\n\n /**\n * Invoke a class method and inject service.\n *\n * #### IInjectableMethod options\n *\n * * **target**: Optional. The class instance.\n * * **methodName**: `string` Optional. The method name.\n * * **designParamTypes**: `any[]` Optional. List of injectable types.\n * * **locals**: `Map<Function, any>` Optional. If preset then any argument Class are read from this object first, before the `InjectorService` is consulted.\n *\n * #### Example\n *\n * @param target\n * @param locals\n * @param options\n * @private\n */\n private resolve<T>(target: TokenProvider, locals: Map<TokenProvider, any>, options: Partial<InvokeOptions<T>> = {}): Promise<T> {\n const {token, deps, construct, isBindable, imports, provider} = this.mapInvokeOptions(target, locals, options);\n\n if (provider) {\n if (!provider.injectable && options.parent) {\n throw new InjectionError(token, `${nameOf(token)} ${provider.type} is not injectable to another provider`);\n }\n\n const {onInvoke} = GlobalProviders.getRegistrySettings(target);\n if (onInvoke) {\n onInvoke(provider, locals, deps);\n }\n }\n\n let instance: any;\n let currentDependency: any = false;\n\n try {\n const invokeDependency = (parent?: any) => (token: any, index: number): any => {\n currentDependency = {token, index, deps};\n\n if (token !== DI_PARAM_OPTIONS) {\n const options = provider?.store?.get(`${DI_PARAM_OPTIONS}:${index}`);\n\n locals.set(DI_PARAM_OPTIONS, options || {});\n }\n\n return isInheritedFrom(token, Provider, 1) ? provider : this.invoke(token, locals, {parent});\n };\n\n // Invoke manually imported providers\n imports.forEach(invokeDependency());\n\n // Inject dependencies\n const services = deps.map(invokeDependency(token));\n\n currentDependency = false;\n\n instance = construct(services);\n } catch (error) {\n InjectionError.throwInjectorError(token, currentDependency, error);\n }\n\n if (instance === undefined) {\n throw new InjectionError(\n token,\n `Unable to create new instance from undefined value. Check your provider declaration for ${nameOf(token)}`\n );\n }\n\n if (instance && isBindable) {\n this.bindInjectableProperties(instance, locals, options);\n }\n\n return instance;\n }\n\n /**\n * Create options to invoke a provider or class.\n * @param token\n * @param locals\n * @param options\n */\n private mapInvokeOptions(token: TokenProvider, locals: Map<TokenProvider, any>, options: Partial<InvokeOptions<any>>): InvokeSettings {\n let imports: TokenProvider[] | undefined = options.imports;\n let deps: TokenProvider[] | undefined = options.deps;\n let scope = options.scope;\n let construct;\n let isBindable = false;\n\n if (!token) {\n throw new UndefinedTokenError();\n }\n\n let provider: Provider;\n\n if (!this.hasProvider(token)) {\n provider = new Provider(token);\n\n this.resolvers.forEach((resolver) => {\n const result = resolver.get(token, locals.get(DI_PARAM_OPTIONS));\n\n if (result !== undefined) {\n provider.useFactory = () => result;\n }\n });\n } else {\n provider = this.getProvider(token)!;\n }\n\n scope = scope || this.scopeOf(provider);\n deps = deps || provider.deps;\n imports = imports || provider.imports;\n\n if (provider.useValue !== undefined) {\n construct = () => (isFunction(provider.useValue) ? provider.useValue() : provider.useValue);\n } else if (provider.useFactory) {\n construct = (deps: TokenProvider[]) => provider.useFactory(...deps);\n } else if (provider.useAsyncFactory) {\n construct = (deps: TokenProvider[]) => provider.useAsyncFactory(...deps);\n } else {\n // useClass\n isBindable = true;\n deps = deps || Metadata.getParamTypes(provider.useClass);\n construct = (deps: TokenProvider[]) => new provider.useClass(...deps);\n }\n\n return {\n token,\n scope: scope || Store.from(token).get(\"scope\") || ProviderScope.SINGLETON,\n deps: deps! || [],\n imports: imports || [],\n isBindable,\n construct,\n provider\n };\n }\n}\n"]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cleanGlobPatterns = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
function isTsEnv() {
|
|
7
|
-
return ((require && require.extensions && require.extensions[".ts"]) ||
|
|
8
|
-
process.env["TS_TEST"] ||
|
|
9
|
-
process.env.JEST_WORKER_ID !== undefined ||
|
|
10
|
-
process.env.NODE_ENV === "test");
|
|
11
|
-
}
|
|
12
|
-
function mapExcludes(excludes) {
|
|
13
|
-
return excludes.map((s) => `!${s.replace(/!/gi, "")}`);
|
|
14
|
-
}
|
|
15
|
-
function mapExtensions(file) {
|
|
16
|
-
if (!isTsEnv()) {
|
|
17
|
-
file = file.replace(/\.ts$/i, ".js").replace(/{\.ts,\.js}$/i, ".js");
|
|
18
|
-
}
|
|
19
|
-
return file;
|
|
20
|
-
}
|
|
21
|
-
function cleanGlobPatterns(files, excludes) {
|
|
22
|
-
return []
|
|
23
|
-
.concat(files)
|
|
24
|
-
.map((s) => path_1.resolve(s))
|
|
25
|
-
.concat(mapExcludes(excludes))
|
|
26
|
-
.map(mapExtensions)
|
|
27
|
-
.map((s) => core_1.normalizePath(s));
|
|
28
|
-
}
|
|
29
|
-
exports.cleanGlobPatterns = cleanGlobPatterns;
|
|
30
|
-
//# sourceMappingURL=cleanGlobPatterns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanGlobPatterns.js","sourceRoot":"","sources":["../../src/utils/cleanGlobPatterns.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AACzC,+BAA6B;AAE7B,SAAS,OAAO;IACd,OAAO,CACL,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS;QACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAAkB;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC,OAAO,EAAE,EAAE;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAwB,EAAE,QAAkB;IAC5E,OAAO,EAAE;SACN,MAAM,CAAC,KAAc,CAAC;SACtB,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAO,CAAC,CAAC,CAAC,CAAC;SAC9B,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAU,CAAC;SACtC,GAAG,CAAC,aAAa,CAAC;SAClB,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,oBAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAPD,8CAOC","sourcesContent":["import {normalizePath} from \"@tsed/core\";\nimport {resolve} from \"path\";\n\nfunction isTsEnv() {\n return (\n (require && require.extensions && require.extensions[\".ts\"]) ||\n process.env[\"TS_TEST\"] ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.NODE_ENV === \"test\"\n );\n}\n\nfunction mapExcludes(excludes: string[]) {\n return excludes.map((s: string) => `!${s.replace(/!/gi, \"\")}`);\n}\n\nfunction mapExtensions(file: string): string {\n if (!isTsEnv()) {\n file = file.replace(/\\.ts$/i, \".js\").replace(/{\\.ts,\\.js}$/i, \".js\");\n }\n\n return file;\n}\n\nexport function cleanGlobPatterns(files: string | string[], excludes: string[]): string[] {\n return []\n .concat(files as never)\n .map((s: string) => resolve(s))\n .concat(mapExcludes(excludes) as never)\n .map(mapExtensions)\n .map((s: string) => normalizePath(s));\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createContainer = void 0;
|
|
4
|
-
const Container_1 = require("../domain/Container");
|
|
5
|
-
const GlobalProviders_1 = require("../registries/GlobalProviders");
|
|
6
|
-
function createContainer(rootModule) {
|
|
7
|
-
const container = new Container_1.Container(GlobalProviders_1.GlobalProviders.entries());
|
|
8
|
-
if (rootModule) {
|
|
9
|
-
container.delete(rootModule);
|
|
10
|
-
}
|
|
11
|
-
return container;
|
|
12
|
-
}
|
|
13
|
-
exports.createContainer = createContainer;
|
|
14
|
-
//# sourceMappingURL=createContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createContainer.js","sourceRoot":"","sources":["../../src/utils/createContainer.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,mEAA8D;AAE9D,SAAgB,eAAe,CAAC,UAAsB;IACpD,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,iCAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAE3D,IAAI,UAAU,EAAE;QACd,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,0CAQC","sourcesContent":["import {Type} from \"@tsed/core\";\nimport {Container} from \"../domain/Container\";\nimport {GlobalProviders} from \"../registries/GlobalProviders\";\n\nexport function createContainer(rootModule?: Type<any>) {\n const container = new Container(GlobalProviders.entries());\n\n if (rootModule) {\n container.delete(rootModule);\n }\n\n return container;\n}\n"]}
|
package/lib/utils/data/Test1.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Test1.js","sourceRoot":"","sources":["../../../src/utils/data/Test1.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,MAAa,KAAK;CAAG;AAArB,sBAAqB","sourcesContent":["export const value1 = \"value\";\n\nexport class Test1 {}\n"]}
|
package/lib/utils/data/Test2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Test2.js","sourceRoot":"","sources":["../../../src/utils/data/Test2.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,MAAa,KAAK;CAAG;AAArB,sBAAqB","sourcesContent":["export const value2 = \"value\";\n\nexport class Test2 {}\n"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getConfiguration = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
function getConfiguration(module, configuration = {}) {
|
|
6
|
-
const store = core_1.Store.from(module).get("configuration") || {};
|
|
7
|
-
const config = {
|
|
8
|
-
...store,
|
|
9
|
-
...configuration
|
|
10
|
-
};
|
|
11
|
-
if (store.mount && configuration.mount) {
|
|
12
|
-
config.mount = core_1.deepMerge(store.mount, configuration.mount);
|
|
13
|
-
}
|
|
14
|
-
if (store.componentsScan && configuration.componentsScan) {
|
|
15
|
-
config.componentsScan = [...store.componentsScan, ...configuration.componentsScan];
|
|
16
|
-
}
|
|
17
|
-
return config;
|
|
18
|
-
}
|
|
19
|
-
exports.getConfiguration = getConfiguration;
|
|
20
|
-
//# sourceMappingURL=getConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getConfiguration.js","sourceRoot":"","sources":["../../src/utils/getConfiguration.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAElD,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,gBAAqB,EAAE;IACzE,MAAM,KAAK,GAAG,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,GAAG,KAAK;QACR,GAAG,aAAa;KACjB,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE;QACtC,MAAM,CAAC,KAAK,GAAG,gBAAS,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5D;IAED,IAAI,KAAK,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,EAAE;QACxD,MAAM,CAAC,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;KACpF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,4CAiBC","sourcesContent":["import {deepMerge, Store, Type} from \"@tsed/core\";\n\nexport function getConfiguration(module: Type<any>, configuration: any = {}) {\n const store = Store.from(module).get(\"configuration\") || {};\n\n const config = {\n ...store,\n ...configuration\n };\n\n if (store.mount && configuration.mount) {\n config.mount = deepMerge(store.mount, configuration.mount);\n }\n\n if (store.componentsScan && configuration.componentsScan) {\n config.componentsScan = [...store.componentsScan, ...configuration.componentsScan];\n }\n\n return config;\n}\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importComponents = exports.mapConfiguration = void 0;
|
|
4
|
-
const core_1 = require("@tsed/core");
|
|
5
|
-
const importFiles_1 = require("./importFiles");
|
|
6
|
-
async function resolveSymbols(item, excludes) {
|
|
7
|
-
if (core_1.isClass(item)) {
|
|
8
|
-
return [item];
|
|
9
|
-
}
|
|
10
|
-
/* istanbul ignore else */
|
|
11
|
-
if (!process.env.WEBPACK) {
|
|
12
|
-
return importFiles_1.importFiles(item, excludes);
|
|
13
|
-
}
|
|
14
|
-
/* istanbul ignore next */
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
function mapConfiguration(config) {
|
|
18
|
-
if (core_1.isArray(config)) {
|
|
19
|
-
return config.map((value) => {
|
|
20
|
-
return {
|
|
21
|
-
values: [].concat(value)
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return Object.keys(config).reduce((list, key) => {
|
|
26
|
-
list.push({
|
|
27
|
-
endpoint: key,
|
|
28
|
-
values: [].concat(config[key])
|
|
29
|
-
});
|
|
30
|
-
return list;
|
|
31
|
-
}, []);
|
|
32
|
-
}
|
|
33
|
-
exports.mapConfiguration = mapConfiguration;
|
|
34
|
-
async function importComponents(config, excludes) {
|
|
35
|
-
if (!config) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
config = mapConfiguration(config);
|
|
39
|
-
const promises = [];
|
|
40
|
-
for (const option of config) {
|
|
41
|
-
promises.push(...option.values.map(async (value) => {
|
|
42
|
-
const symbols = await resolveSymbols(value, excludes);
|
|
43
|
-
return symbols.filter(core_1.isClass).map((symbol) => ({ token: symbol, route: option.endpoint }));
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
const result = await Promise.all(promises);
|
|
47
|
-
return result.flat();
|
|
48
|
-
}
|
|
49
|
-
exports.importComponents = importComponents;
|
|
50
|
-
//# sourceMappingURL=importComponents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importComponents.js","sourceRoot":"","sources":["../../src/utils/importComponents.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,+CAA0C;AAE1C,KAAK,UAAU,cAAc,CAAC,IAAS,EAAE,QAAkB;IACzD,IAAI,cAAO,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IACD,0BAA0B;IAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;QACxB,OAAO,yBAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpC;IAED,0BAA0B;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAW;IAC1C,IAAI,cAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;YAC/B,OAAO;gBACL,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aACzB,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAW,EAAE,GAAW,EAAE,EAAE;QAC7D,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAjBD,4CAiBC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAW,EAAE,QAAkB;IACpE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAQ,EAAE,CAAC;IAEzB,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;QAC3B,QAAQ,CAAC,IAAI,CACX,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC,MAAM,CAAC,cAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CACH,CAAC;KACH;IAED,MAAM,MAAM,GAAwC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEhF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAtBD,4CAsBC","sourcesContent":["import {isArray, isClass} from \"@tsed/core\";\nimport {importFiles} from \"./importFiles\";\n\nasync function resolveSymbols(item: any, excludes: string[]) {\n if (isClass(item)) {\n return [item];\n }\n /* istanbul ignore else */\n if (!process.env.WEBPACK) {\n return importFiles(item, excludes);\n }\n\n /* istanbul ignore next */\n return [];\n}\n\nexport function mapConfiguration(config: any): {endpoint?: string; values: any[]}[] {\n if (isArray(config)) {\n return config.map((value: any) => {\n return {\n values: [].concat(value)\n };\n });\n }\n\n return Object.keys(config).reduce((list: any[], key: string) => {\n list.push({\n endpoint: key,\n values: [].concat(config[key])\n });\n\n return list;\n }, []);\n}\n\nexport async function importComponents(config: any, excludes: string[]): Promise<{token: string; route?: string}[]> {\n if (!config) {\n return [];\n }\n\n config = mapConfiguration(config);\n\n const promises: any = [];\n\n for (const option of config) {\n promises.push(\n ...option.values.map(async (value: any) => {\n const symbols = await resolveSymbols(value, excludes);\n\n return symbols.filter(isClass).map((symbol) => ({token: symbol, route: option.endpoint}));\n })\n );\n }\n\n const result: {token: string; route?: string}[][] = await Promise.all(promises);\n\n return result.flat();\n}\n"]}
|
package/lib/utils/importFiles.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importFiles = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const globby_1 = tslib_1.__importDefault(require("globby"));
|
|
6
|
-
const cleanGlobPatterns_1 = require("./cleanGlobPatterns");
|
|
7
|
-
async function importFiles(patterns, exclude) {
|
|
8
|
-
const files = await globby_1.default(cleanGlobPatterns_1.cleanGlobPatterns(patterns, exclude));
|
|
9
|
-
const symbols = [];
|
|
10
|
-
for (const file of files) {
|
|
11
|
-
if (!file.endsWith(".d.ts")) {
|
|
12
|
-
// prevent .d.ts import if the global pattern isn't correctly configured
|
|
13
|
-
try {
|
|
14
|
-
const exports = await Promise.resolve().then(() => tslib_1.__importStar(require(file)));
|
|
15
|
-
Object.keys(exports).forEach((key) => symbols.push(exports[key]));
|
|
16
|
-
}
|
|
17
|
-
catch (er) {
|
|
18
|
-
// istanbul ignore next
|
|
19
|
-
console.error(er);
|
|
20
|
-
// istanbul ignore next
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return symbols;
|
|
26
|
-
}
|
|
27
|
-
exports.importFiles = importFiles;
|
|
28
|
-
//# sourceMappingURL=importFiles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importFiles.js","sourceRoot":"","sources":["../../src/utils/importFiles.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAC5B,2DAAsD;AAE/C,KAAK,UAAU,WAAW,CAAC,QAA2B,EAAE,OAAiB;IAC9E,MAAM,KAAK,GAAG,MAAM,gBAAM,CAAC,qCAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC3B,wEAAwE;YACxE,IAAI;gBACF,MAAM,OAAO,GAAG,gEAAa,IAAI,GAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACnE;YAAC,OAAO,EAAE,EAAE;gBACX,uBAAuB;gBACvB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClB,uBAAuB;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AApBD,kCAoBC","sourcesContent":["import globby from \"globby\";\nimport {cleanGlobPatterns} from \"./cleanGlobPatterns\";\n\nexport async function importFiles(patterns: string | string[], exclude: string[]): Promise<any[]> {\n const files = await globby(cleanGlobPatterns(patterns, exclude));\n const symbols: any[] = [];\n\n for (const file of files) {\n if (!file.endsWith(\".d.ts\")) {\n // prevent .d.ts import if the global pattern isn't correctly configured\n try {\n const exports = await import(file);\n Object.keys(exports).forEach((key) => symbols.push(exports[key]));\n } catch (er) {\n // istanbul ignore next\n console.error(er);\n // istanbul ignore next\n process.exit(1);\n }\n }\n }\n\n return symbols;\n}\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importProviders = void 0;
|
|
4
|
-
const ProviderType_1 = require("../domain/ProviderType");
|
|
5
|
-
const GlobalProviders_1 = require("../registries/GlobalProviders");
|
|
6
|
-
const importComponents_1 = require("./importComponents");
|
|
7
|
-
async function recursiveImports(providers, settings, properties) {
|
|
8
|
-
const { exclude = [] } = settings;
|
|
9
|
-
const promises = providers
|
|
10
|
-
.map(({ token }) => GlobalProviders_1.GlobalProviders.get(token))
|
|
11
|
-
.filter((provider) => (provider === null || provider === void 0 ? void 0 : provider.type) === ProviderType_1.ProviderType.MODULE && provider.configuration)
|
|
12
|
-
.map((provider) => importProviders({ exclude, ...provider.configuration }, properties));
|
|
13
|
-
return (await Promise.all(promises)).flat();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Import providers from given patterns.
|
|
17
|
-
*
|
|
18
|
-
* @param settings
|
|
19
|
-
* @param properties
|
|
20
|
-
*/
|
|
21
|
-
async function importProviders(settings, properties = ["imports"]) {
|
|
22
|
-
const { exclude = [] } = settings;
|
|
23
|
-
const promises = properties.map((key) => importComponents_1.importComponents(settings[key], exclude));
|
|
24
|
-
const providers = (await Promise.all(promises)).flat();
|
|
25
|
-
const children = await recursiveImports(providers, settings, properties);
|
|
26
|
-
return [...children, ...providers];
|
|
27
|
-
}
|
|
28
|
-
exports.importProviders = importProviders;
|
|
29
|
-
//# sourceMappingURL=importProviders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importProviders.js","sourceRoot":"","sources":["../../src/utils/importProviders.ts"],"names":[],"mappings":";;;AAEA,yDAAoD;AACpD,mEAA8D;AAC9D,yDAAoD;AAEpD,KAAK,UAAU,gBAAgB,CAAC,SAA4C,EAAE,QAAqC,EAAE,UAAoB;IACvI,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,QAAQ,CAAC;IAEhC,MAAM,QAAQ,GAAG,SAAS;SACvB,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,iCAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,2BAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC;SACtF,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,EAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAElG,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CACnC,QAAqC,EACrC,aAAuB,CAAC,SAAS,CAAC;IAElC,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,QAAQ,CAAC;IAEhC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mCAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;AACrC,CAAC;AAXD,0CAWC","sourcesContent":["import {Provider} from \"../domain/Provider\";\nimport {IProvider} from \"../interfaces/IProvider\";\nimport {ProviderType} from \"../domain/ProviderType\";\nimport {GlobalProviders} from \"../registries/GlobalProviders\";\nimport {importComponents} from \"./importComponents\";\n\nasync function recursiveImports(providers: {token: string; route?: string}[], settings: Partial<TsED.Configuration>, properties: string[]) {\n const {exclude = []} = settings;\n\n const promises = providers\n .map(({token}) => GlobalProviders.get(token))\n .filter((provider) => provider?.type === ProviderType.MODULE && provider.configuration)\n .map((provider: Provider) => importProviders({exclude, ...provider.configuration}, properties));\n\n return (await Promise.all(promises)).flat();\n}\n\n/**\n * Import providers from given patterns.\n *\n * @param settings\n * @param properties\n */\nexport async function importProviders(\n settings: Partial<TsED.Configuration>,\n properties: string[] = [\"imports\"]\n): Promise<{token: string; route?: string}[]> {\n const {exclude = []} = settings;\n\n const promises = properties.map((key) => importComponents(settings[key], exclude));\n const providers = (await Promise.all(promises)).flat();\n const children = await recursiveImports(providers, settings, properties);\n\n return [...children, ...providers];\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setLoggerLevel = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @ignore
|
|
6
|
-
* @param injector
|
|
7
|
-
*/
|
|
8
|
-
function setLoggerLevel(injector) {
|
|
9
|
-
var _a;
|
|
10
|
-
const level = (_a = injector.settings.logger) === null || _a === void 0 ? void 0 : _a.level;
|
|
11
|
-
if (level) {
|
|
12
|
-
injector.logger.level = level;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.setLoggerLevel = setLoggerLevel;
|
|
16
|
-
//# sourceMappingURL=setLoggerLevel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setLoggerLevel.js","sourceRoot":"","sources":["../../src/utils/setLoggerLevel.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,cAAc,CAAC,QAAyB;;IACtD,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,MAAM,0CAAE,KAAK,CAAC;IAE9C,IAAI,KAAK,EAAE;QACT,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;KAC/B;AACH,CAAC;AAND,wCAMC","sourcesContent":["import {InjectorService} from \"../services/InjectorService\";\n\n/**\n * @ignore\n * @param injector\n */\nexport function setLoggerLevel(injector: InjectorService) {\n const level = injector.settings.logger?.level;\n\n if (level) {\n injector.logger.level = level;\n }\n}\n"]}
|