redux-providers
Version:
Minimalist dependency injection system for redux. Create providers to be injected and used in redux reducers.
20 lines • 1.02 kB
JavaScript
;
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