UNPKG

@clawject/di

Version:

<p align="center"> <a href="https://clawject.com/" target="_blank"><img src="https://clawject.com/img/logo.svg" align="center" alt="Clawject Logo" width="120" height="120" /></a> </p>

31 lines (30 loc) 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Import = void 0; const RuntimeErrors_1 = require("./RuntimeErrors"); const Utils_1 = require("../Utils"); /** * *Import* function allows you * to import a {@link Configuration @Configuration} class into the target {@link Configuration @Configuration} class * to use beans that is provided by imported configuration. * * @public * */ const Import = (configurationClass, constructorParameters) => { if (Utils_1.Utils.isPromise(configurationClass)) { return configurationClass.then((resolvedConfigurationClass) => { return { constructor: resolvedConfigurationClass, constructorParameters: constructorParameters ?? [], }; }); } if (typeof configurationClass === 'function') { return { constructor: configurationClass, constructorParameters: constructorParameters ?? [], }; } throw new RuntimeErrors_1.RuntimeErrors.IllegalArgumentError('Argument must be a class constructor or a promise of a class constructor'); }; exports.Import = Import;