UNPKG

@talend/react-cmf

Version:

A framework built on top of best react libraries

66 lines (63 loc) 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _invariant = _interopRequireDefault(require("invariant")); var _actionCreator = _interopRequireDefault(require("./actionCreator")); var _expression = _interopRequireDefault(require("./expression")); var _sagas = _interopRequireDefault(require("./sagas")); var _registry = _interopRequireDefault(require("./registry")); var _constant = _interopRequireDefault(require("./constant")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * All stuff related to the routing in CMF * @module react-cmf/lib/component * @see module:react-cmf/lib/component */ /** * return a component from the registry * @param {string} id the component id you want * @param {object} context optional context to get the registry * @return {function} the react component */ function get(id, context) { const component = _registry.default.getFromRegistry(`${_constant.default.REGISTRY_COMPONENT_PREFIX}:${id}`, context); if (!component) { throw new Error(`component not found in the registry: ${id}`); } return component; } /** * register a component to let CMF be able to Inject it. * @param {string} id the component id you want to register * @param {any} component the component you want to register * @param {object} context optional context to get the registry */ function register(id, component, context) { if (!component) { (0, _invariant.default)(process.env.NODE_ENV === 'production', 'You cannot register undefined as a component for id "%s"', id); return; } _registry.default.addToRegistry(`${_constant.default.REGISTRY_COMPONENT_PREFIX}:${id}`, component, context); if (component.actions) { _actionCreator.default.registerMany(component.actions, context); } if (component.expressions) { _expression.default.registerMany(component.expressions, context); } if (component.sagas) { _sagas.default.registerMany(component.sagas, context); } } const registerMany = _registry.default.getRegisterMany(register); function has(id, context) { return _registry.default.getFromRegistry(`${_constant.default.REGISTRY_COMPONENT_PREFIX}:${id}`, context) !== undefined; } var _default = exports.default = { get, has, register, registerMany }; //# sourceMappingURL=component.js.map