UNPKG

react-application-core

Version:

A react-based application core for the business applications.

46 lines 1.77 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.connectorFactory = void 0; var react_redux_1 = require("react-redux"); var ts_smart_logger_1 = require("ts-smart-logger"); var util_1 = require("../../util"); var logger = ts_smart_logger_1.LoggerFactory.makeLogger('universal-connector.factory'); /** * @stable [16.11.2019] * @param {IUniversalContainerCtor} containerCtor * @param {ConnectorMapperT<TStoreEntity extends IUniversalStoreEntity>} mappers * @returns {IUniversalContainerCtor} */ exports.connectorFactory = function (containerCtor) { var mappers = []; for (var _i = 1; _i < arguments.length; _i++) { mappers[_i - 1] = arguments[_i]; } var mapping = function (state) { return mappers.length ? mappers .reduce(function (previousValue, currentMapper) { try { return __assign(__assign({}, util_1.isFn(previousValue) ? previousValue(state) : previousValue), currentMapper(state)); } catch (e) { logger.error('[$universalConnectorFactory] The error:', e); return previousValue; } }) : {}; }; return react_redux_1.connect(mapping)(containerCtor); }; //# sourceMappingURL=connector.factory.js.map