redux-providers
Version:
Minimalist dependency injection system for redux. Create providers to be injected and used in redux reducers.
19 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const metadata_keys_1 = require("../decorators/constants/metadata.keys");
const provider_resolver_1 = require("../resolver/provider-resolver");
const instance_container_1 = require("./instance-container");
function createContainer(moduleTarget) {
if (!Reflect.hasMetadata(metadata_keys_1.METADATA_KEY.MODULE_OPTIONS, moduleTarget)) {
throw new Error("Are you sure " + moduleTarget.name + " is a module?");
}
let container = new instance_container_1.InstanceContainer();
const moduleOptions = Reflect.getMetadata(metadata_keys_1.METADATA_KEY.MODULE_OPTIONS, moduleTarget);
const providerList = moduleOptions.providers || [];
for (let provider of providerList) {
container.add(provider.name, provider_resolver_1.ProviderResolver.resolve(provider, moduleTarget.name));
}
return container;
}
exports.createContainer = createContainer;
//# sourceMappingURL=create-container.js.map