ayano-react
Version:
react app creator
82 lines (56 loc) • 2.47 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createApp = exports.connectAyano = undefined;
var _reactRedux = require('react-redux');
var _Reducer = require('./Reducer');
var _Reducer2 = _interopRequireDefault(_Reducer);
var _Request = require('./Request');
var _Request2 = _interopRequireDefault(_Request);
var _Router = require('./Router');
var _Router2 = _interopRequireDefault(_Router);
var _AppRenderer = require('./AppRenderer');
var _AppRenderer2 = _interopRequireDefault(_AppRenderer);
var _AppManager = require('./AppManager');
var _AppManager2 = _interopRequireDefault(_AppManager);
var _App = require('./App');
var _App2 = _interopRequireDefault(_App);
var _ayanoUtils = require('ayano-utils');
var _utils = require('./utils');
var _withAyanoAction = require('./withAyanoAction');
var _withAyanoAction2 = _interopRequireDefault(_withAyanoAction);
var _thunk = require('./thunk');
var _thunk2 = _interopRequireDefault(_thunk);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// local lib
var withAyanoAction = (0, _withAyanoAction2.default)(_AppManager2.default);
// export
exports.Reducer = _Reducer2.default;
exports.Request = _Request2.default;
exports.methods = _Request.methods;
exports.Router = _Router2.default;
exports.AppRenderer = _AppRenderer2.default;
exports.RouterRenderer = _Router.RouterRenderer;
exports.withAyanoAction = withAyanoAction;
exports.thunk = _thunk2.default;
var connectAyano = exports.connectAyano = function connectAyano(mapState) {
return function (Component) {
return withAyanoAction((0, _reactRedux.connect)(mapState)(Component));
};
};
/**
* options.name 创建的APP的名字,如果有多个app的话,可以根据name进行管理
* options.reducer 一个 MUM REACT REDUCER的对象 必须
* options.actions 一个 actions的集合 必须
* options.router 一个 MUM REACT ROUTER的对象 必须
* options.request 一个MUM REACT REQUEST请求的参数的配置文件 可选
* options.history 关系到router的使用,应用所用到的 history 默认为hashHistory
* options.middlewares 可选,redux中间件,会覆盖所有的中间件来使用用户的设置
*/
var createApp = exports.createApp = function createApp(options) {
var app = new _App2.default(options);
(0, _utils.patchFn)(app, _AppRenderer2.default);
_AppManager2.default.set(options.name, app);
return app;
};