UNPKG

1.43 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = handlerFactory;
7
8var _createActions = require('./createActions');
9
10var _createActions2 = _interopRequireDefault(_createActions);
11
12var _logging = require('./utils/logging');
13
14function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16function handlerFactory(action) {
17 var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
18 _ref$namespace = _ref.namespace,
19 namespace = _ref$namespace === undefined ? 'global' : _ref$namespace,
20 _ref$logger = _ref.logger,
21 logger = _ref$logger === undefined ? (0, _logging.createLogger)(action.id || action) : _ref$logger;
22
23 var name = action.id || action;
24 action = typeof action === 'string' ? (0, _createActions2.default)(namespace, action)[action] : action;
25 return {
26 create: function create(createDefinition) {
27 var definition = {
28 name: name,
29 action: action,
30 namespace: namespace,
31 logger: logger
32 };
33 if (typeof createDefinition === 'function') {
34 return Object.assign(definition, createDefinition({ namespace: namespace, logger: logger }));
35 } else {
36 return Object.assign(definition, createDefinition);
37 }
38 }
39 };
40}
\No newline at end of file