UNPKG

redux-providers

Version:

Minimalist dependency injection system for redux. Create providers to be injected and used in redux reducers.

20 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); const metadata_keys_1 = require("../../constants/metadata.keys"); const error_msgs_1 = require("../../constants/error-msgs"); class AbstractReduxModule { } exports.AbstractReduxModule = AbstractReduxModule; function ReduxModule(options) { return (moduleTarget) => { if (Reflect.hasOwnMetadata(metadata_keys_1.METADATA_KEY.REDUX_PROVIDER_MODULE_PARAM_TYPES, moduleTarget)) { throw new Error(error_msgs_1.ERRORS_MSGS.DUPLICATED_REDUX_MODULE_DECORATOR); } const types = Reflect.getMetadata(metadata_keys_1.METADATA_KEY.DESIGN_PARAM_TYPES, moduleTarget) || []; Reflect.defineMetadata(metadata_keys_1.METADATA_KEY.REDUX_PROVIDER_MODULE_PARAM_TYPES, types, moduleTarget); Reflect.defineMetadata(metadata_keys_1.METADATA_KEY.REDUX_PROVIDER_MODULE_OPTIONS, options, moduleTarget); }; } exports.ReduxModule = ReduxModule; //# sourceMappingURL=module.decorator.js.map