UNPKG

dareway-rui

Version:

1,260 lines (1,071 loc) 49.5 kB
'use strict'; var _interopRequireWildcard = require('@babel/runtime/helpers/interopRequireWildcard'); var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = getSaga; var _typeof2 = _interopRequireDefault(require('@babel/runtime/helpers/typeof')); var _slicedToArray2 = _interopRequireDefault(require('@babel/runtime/helpers/slicedToArray')); var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread')); var _toConsumableArray2 = _interopRequireDefault(require('@babel/runtime/helpers/toConsumableArray')); var _regenerator = _interopRequireDefault(require('@babel/runtime/regenerator')); var _invariant = _interopRequireDefault(require('invariant')); var sagaEffects = _interopRequireWildcard(require('redux-saga/effects')); var _warning = _interopRequireDefault(require('warning')); var _constants = require('./constants'); var _prefixType = _interopRequireDefault(require('./prefixType')); var _util = require('./../../util'); var _beacon = require('./../../taglib/beacon'); var _res = require('./../../taglib/res'); var _isPlainObject = _interopRequireDefault(require('is-plain-object')); function getSaga(effects, model, onError, onEffect) { return ( /*#__PURE__*/ _regenerator.default.mark(function _callee3() { var key; return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch ((_context3.prev = _context3.next)) { case 0: _context3.t0 = _regenerator.default.keys(effects); case 1: if ((_context3.t1 = _context3.t0()).done) { _context3.next = 7; break; } key = _context3.t1.value; if (!Object.prototype.hasOwnProperty.call(effects, key)) { _context3.next = 5; break; } return _context3.delegateYield( /*#__PURE__*/ _regenerator.default.mark(function _callee2() { var watcher, task; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch ((_context2.prev = _context2.next)) { case 0: watcher = getWatcher(key, effects[key], model, onError, onEffect); _context2.next = 3; return sagaEffects.fork(watcher); case 3: task = _context2.sent; _context2.next = 6; return sagaEffects.fork( /*#__PURE__*/ _regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$( _context ) { while (1) { switch ((_context.prev = _context.next)) { case 0: _context.next = 2; return sagaEffects.take( ''.concat( model.namespace, '/@@CANCEL_EFFECTS' ) ); case 2: _context.next = 4; return sagaEffects.cancel(task); case 4: case 'end': return _context.stop(); } } }, _callee); }) ); case 6: case 'end': return _context2.stop(); } } }, _callee2); })(), 't2', 5 ); case 5: _context3.next = 1; break; case 7: case 'end': return _context3.stop(); } } }, _callee3); }) ); } function getWatcher(key, _effect, model, onError, onEffect) { var _marked = /*#__PURE__*/ _regenerator.default.mark(sagaWithCatch); var effect = _effect; var type = 'takeEvery'; var ms; if (Array.isArray(_effect)) { effect = _effect[0]; var opts = _effect[1]; if (opts && opts.type) { type = opts.type; if (type === 'throttle') { (0, _invariant.default)(opts.ms, 'app.start: opts.ms should be defined if type is throttle'); ms = opts.ms; } } (0, _invariant.default)( ['watcher', 'takeEvery', 'takeLatest', 'throttle'].indexOf(type) > -1, 'app.start: effect type should be takeEvery, takeLatest, throttle or watcher' ); } function noop() {} function sagaWithCatch() { var _len, args, _key, _ref, _ref$__dva_resolve, resolve, _ref$__dva_reject, reject, _ref2, _ref2$payload, payload, ret, _args4 = arguments; return _regenerator.default.wrap( function sagaWithCatch$(_context4) { while (1) { switch ((_context4.prev = _context4.next)) { case 0: for (_len = _args4.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = _args4[_key]; } (_ref = args.length > 0 ? args[0] : {}), (_ref$__dva_resolve = _ref.__dva_resolve), (resolve = _ref$__dva_resolve === void 0 ? noop : _ref$__dva_resolve), (_ref$__dva_reject = _ref.__dva_reject), (reject = _ref$__dva_reject === void 0 ? noop : _ref$__dva_reject); (_ref2 = args.length > 0 ? args[0] : {}), (_ref2$payload = _ref2.payload), (payload = _ref2$payload === void 0 ? {} : _ref2$payload); _context4.prev = 3; _context4.next = 6; return sagaEffects.put({ type: ''.concat(key).concat(_constants.NAMESPACE_SEP, '@@start') }); case 6: _context4.next = 8; return effect.apply( void 0, (0, _toConsumableArray2.default)(args.concat(createEffects(model, payload))) ); case 8: ret = _context4.sent; _context4.next = 11; return sagaEffects.put({ type: ''.concat(key).concat(_constants.NAMESPACE_SEP, '@@end') }); case 11: resolve(ret); _context4.next = 18; break; case 14: _context4.prev = 14; _context4.t0 = _context4['catch'](3); onError(_context4.t0); if (!_context4.t0._dontReject) { reject(_context4.t0); } case 18: case 'end': return _context4.stop(); } } }, _marked, null, [[3, 14]] ); } var sagaWithOnEffect = applyOnEffect(onEffect, sagaWithCatch, model, key); switch (type) { case 'watcher': return sagaWithCatch; case 'takeLatest': return ( /*#__PURE__*/ _regenerator.default.mark(function _callee4() { return _regenerator.default.wrap(function _callee4$(_context5) { while (1) { switch ((_context5.prev = _context5.next)) { case 0: _context5.next = 2; return (0, sagaEffects.takeLatest)(key, sagaWithOnEffect); case 2: case 'end': return _context5.stop(); } } }, _callee4); }) ); case 'throttle': return ( /*#__PURE__*/ _regenerator.default.mark(function _callee5() { return _regenerator.default.wrap(function _callee5$(_context6) { while (1) { switch ((_context6.prev = _context6.next)) { case 0: _context6.next = 2; return (0, sagaEffects.throttle)(ms, key, sagaWithOnEffect); case 2: case 'end': return _context6.stop(); } } }, _callee5); }) ); default: return ( /*#__PURE__*/ _regenerator.default.mark(function _callee6() { return _regenerator.default.wrap(function _callee6$(_context7) { while (1) { switch ((_context7.prev = _context7.next)) { case 0: _context7.next = 2; return (0, sagaEffects.takeEvery)(key, sagaWithOnEffect); case 2: case 'end': return _context7.stop(); } } }, _callee6); }) ); } } function createEffects(model, payload) { var _marked2 = /*#__PURE__*/ _regenerator.default.mark(invoke), _marked3 = /*#__PURE__*/ _regenerator.default.mark(invokeWithNamespace), _marked4 = /*#__PURE__*/ _regenerator.default.mark(asynchFillData), _marked5 = /*#__PURE__*/ _regenerator.default.mark(getState), _marked6 = /*#__PURE__*/ _regenerator.default.mark(getParameter), _marked7 = /*#__PURE__*/ _regenerator.default.mark(getParameters), _marked8 = /*#__PURE__*/ _regenerator.default.mark(openRES), _marked9 = /*#__PURE__*/ _regenerator.default.mark(getRES), _marked10 = /*#__PURE__*/ _regenerator.default.mark(getUTP), _marked11 = /*#__PURE__*/ _regenerator.default.mark(getAggFree), _marked12 = /*#__PURE__*/ _regenerator.default.mark(getBeacon), _marked13 = /*#__PURE__*/ _regenerator.default.mark(getNamespace), _marked14 = /*#__PURE__*/ _regenerator.default.mark(getObject); function assertAction(type, name) { (0, _invariant.default)(type, 'dispatch: action should be a plain Object with type'); (0, _warning.default)( type.indexOf(''.concat(model.namespace).concat(_constants.NAMESPACE_SEP)) !== 0, '[' .concat(name, '] ') .concat(type, ' should not be prefixed with namespace ') .concat(model.namespace) ); } function put(action) { var type = action.type; assertAction(type, 'sagaEffects.put'); return sagaEffects.put( (0, _objectSpread2.default)({}, action, { type: (0, _prefixType.default)(type, model) }) ); } // The operator `put` doesn't block waiting the returned promise to resolve. // Using `put.resolve` will wait until the promsie resolve/reject before resuming. // It will be helpful to organize multi-effects in order, // and increase the reusability by seperate the effect in stand-alone pieces. // https://github.com/redux-saga/redux-saga/issues/336 function putResolve(action) { var type = action.type; assertAction(type, 'sagaEffects.put.resolve'); return sagaEffects.put.resolve( (0, _objectSpread2.default)({}, action, { type: (0, _prefixType.default)(type, model) }) ); } put.resolve = putResolve; function take(type) { if (typeof type === 'string') { assertAction(type, 'sagaEffects.take'); return sagaEffects.take((0, _prefixType.default)(type, model)); } else if (Array.isArray(type)) { return sagaEffects.take( type.map(function(t) { if (typeof t === 'string') { assertAction(t, 'sagaEffects.take'); return (0, _prefixType.default)(t, model); } return t; }) ); } else { return sagaEffects.take(type); } } ///////////////////////////////////////////////////////////////////////////// // // 自定义函数 - begin // function invoke(type, payload) { return _regenerator.default.wrap(function invoke$(_context8) { while (1) { switch ((_context8.prev = _context8.next)) { case 0: _context8.next = 2; return put({ type: type, payload: payload }); case 2: _context8.next = 4; return _context8.sent; case 4: return _context8.abrupt('return', _context8.sent); case 5: case 'end': return _context8.stop(); } } }, _marked2); } function invokeWithNamespace(namespace, type, payload) { return _regenerator.default.wrap(function invokeWithNamespace$(_context9) { while (1) { switch ((_context9.prev = _context9.next)) { case 0: _context9.next = 2; return put({ type: ''.concat(namespace, '/').concat(type), payload: payload }); case 2: _context9.next = 4; return _context9.sent; case 4: return _context9.abrupt('return', _context9.sent); case 5: case 'end': return _context9.stop(); } } }, _marked3); } function getComponentInfoArr(para) { if (!para) { return null; } var pair = para.split(','); var arr = []; for (var i = 0; i < pair.length; i++) { var _pair$i$split = pair[i].split(':'), _pair$i$split2 = (0, _slicedToArray2.default)(_pair$i$split, 2), tagName = _pair$i$split2[0], dataSourceName = _pair$i$split2[1]; arr.push({ tagName: tagName, dataSourceName: dataSourceName }); } return arr; } function getCodeComponentDataSourceNameInfo(para, formTagName) { if (!para) { return null; } var pair = para.split(','); var array = []; for (var i = 0; i < pair.length; i++) { var _pair$i$split3 = pair[i].split(':'), _pair$i$split4 = (0, _slicedToArray2.default)(_pair$i$split3, 3), formName = _pair$i$split4[0], codeTagName = _pair$i$split4[1], dataSourceName = _pair$i$split4[2]; if (formTagName == formName) { array.push({ codeTagName: codeTagName, dataSourceName: dataSourceName }); } } return array; } function asynchFillData(urlInst, tagName_dsName_pairs, formcodeDataName_dsName_paris) { var pairs, vdo, i, _pairs$i, tagName, dataSourceName, tagObj, tagData, codeTagDataSourceNameArray, codeTagFillDataInfoArray, k, _codeTagDataSourceNam, codeTagName, _dataSourceName, codeData; return _regenerator.default.wrap(function asynchFillData$(_context10) { while (1) { switch ((_context10.prev = _context10.next)) { case 0: if (!(!urlInst || !(urlInst instanceof _util.URL))) { _context10.next = 2; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.asynchFillData(urlInst, tagName_dsName_pairs)\n\u51FD\u6570\u8C03\u7528\uFF1ARUI.asynchFillData(' .concat(urlInst, ', ') .concat( tagName_dsName_pairs, ') \n\u5F02\u5E38\u4FE1\u606F\uFF1A\u671F\u671B\u53C2\u6570 urlInst \u4E3A URL \u5BF9\u8C61\u5B9E\u4F8B\uFF0C\u5B9E\u9645\u4F20\u5165\u503C ' ) .concat(urlInst, '\uFF0C\u7C7B\u578B\u4E3A ') .concat((0, _typeof2.default)(urlInst), '\n\u8BF7\u68C0\u67E5!') ); case 2: pairs = getComponentInfoArr(tagName_dsName_pairs); _context10.next = 5; return (0, _util.request)(urlInst); case 5: vdo = _context10.sent; if ((0, _isPlainObject.default)(vdo)) { _context10.next = 8; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.asynchFillData(urlInst, tags)\n\u51FD\u6570\u8C03\u7528\uFF1ARUI.asynchFillData(' .concat(urlInst, ', ') .concat(tagName_dsName_pairs, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u8BF7\u6C42') .concat(urlInst.getUrl(), '\u7684\u8FD4\u56DE\u7ED3\u679C\u662F\u3010') .concat( vdo, '\u3011\uFF0C\u4E0D\u662F\u4E00\u4E2A DataObject \u7ED3\u6784\u6570\u636E\n\u8BF7\u68C0\u67E5!' ) ); case 8: i = 0; case 9: if (!(i < pairs.length)) { _context10.next = 44; break; } (_pairs$i = pairs[i]), (tagName = _pairs$i.tagName), (dataSourceName = _pairs$i.dataSourceName); _context10.next = 13; return getObject(tagName); case 13: tagObj = _context10.sent; if (tagObj) { _context10.next = 16; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.asynchFillData(urlInst, tags)\n\u51FD\u6570\u8C03\u7528\uFF1ARUI.asynchFillData(' .concat(urlInst, ', ') .concat( tagName_dsName_pairs, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5F53\u524D\u9875\u9762\u4E2D\uFF0C\u4E0D\u5305\u542B\u540D\u4E3A\u3010' ) .concat(tagName, '\u3011\u7684\u6807\u7B7E\u7EC4\u4EF6\n\u8BF7\u68C0\u67E5!') ); case 16: tagData = vdo[dataSourceName.toLowerCase()]; if (tagData) { _context10.next = 19; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.asynchFillData(urlInst, tags)\n\u51FD\u6570\u8C03\u7528\uFF1ARUI.asynchFillData(' .concat(urlInst, ', ') .concat(tagName_dsName_pairs, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u8BF7\u6C42') .concat( urlInst.getUrl(), '\u7684\u8FD4\u56DE\u7ED3\u679C\u4E2D\uFF0C\u4E0D\u5305\u542B\u540D\u4E3A\u3010' ) .concat( dataSourceName.toLowerCase(), '\u3011\u7684 Form \u8868\u5355\u6570\u636E\n\u8BF7\u68C0\u67E5!' ) ); case 19: if (!(!tagObj.checkFormValues || !formcodeDataName_dsName_paris)) { _context10.next = 23; break; } _context10.next = 22; return tagObj.fillData(tagData); case 22: return _context10.abrupt('continue', 41); case 23: //获取Form的code数据源的dataSource codeTagDataSourceNameArray = getCodeComponentDataSourceNameInfo( formcodeDataName_dsName_paris, tagName ); if (codeTagDataSourceNameArray.length) { _context10.next = 28; break; } _context10.next = 27; return tagObj.fillData(tagData); case 27: return _context10.abrupt('continue', 41); case 28: codeTagFillDataInfoArray = []; k = 0; case 30: if (!(k < codeTagDataSourceNameArray.length)) { _context10.next = 39; break; } (_codeTagDataSourceNam = codeTagDataSourceNameArray[k]), (codeTagName = _codeTagDataSourceNam.codeTagName), (_dataSourceName = _codeTagDataSourceNam.dataSourceName); codeData = vdo[_dataSourceName.toLowerCase()]; if (codeData) { _context10.next = 35; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.asynchFillData(urlInst, tags,codeTags)\n\u51FD\u6570\u8C03\u7528\uFF1ARUI.asynchFillData(' .concat(urlInst, ', ') .concat(tagName_dsName_pairs, ',') .concat(formcodeDataName_dsName_paris, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u8BF7\u6C42') .concat( urlInst.getUrl(), '\u7684\u8FD4\u56DE\u7ED3\u679C\u4E2D\uFF0C\u4E0D\u5305\u542B\u540D\u4E3A\u3010' ) .concat( _dataSourceName.toLowerCase(), '\u3011\u7684 \u586B\u5145\u6570\u636E\n\u8BF7\u68C0\u67E5!' ) ); case 35: codeTagFillDataInfoArray.push({ codeTagName: codeTagName, codeData: codeData }); case 36: k++; _context10.next = 30; break; case 39: _context10.next = 41; return tagObj.fillData(tagData, codeTagFillDataInfoArray); case 41: i++; _context10.next = 9; break; case 44: case 'end': return _context10.stop(); } } }, _marked4); } function getState(name) { return _regenerator.default.wrap(function getState$(_context11) { while (1) { switch ((_context11.prev = _context11.next)) { case 0: _context11.next = 2; return sagaEffects.select(function(state) { if (!name) { return state[''.concat(model.namespace)]; } return state[''.concat(model.namespace)][''.concat(name)]; }); case 2: return _context11.abrupt('return', _context11.sent); case 3: case 'end': return _context11.stop(); } } }, _marked5); } function getParameter(name) { return _regenerator.default.wrap(function getParameter$(_context12) { while (1) { switch ((_context12.prev = _context12.next)) { case 0: if (!(!name || typeof name !== 'string')) { _context12.next = 2; break; } throw new Error('name必须为非空字符串'); case 2: _context12.next = 4; return sagaEffects.select(function(state) { return state[ ''.concat(model.namespace) ]['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__'][name]; }); case 4: return _context12.abrupt('return', _context12.sent); case 5: case 'end': return _context12.stop(); } } }, _marked6); } function getParameters() { return _regenerator.default.wrap(function getParameters$(_context13) { while (1) { switch ((_context13.prev = _context13.next)) { case 0: _context13.next = 2; return sagaEffects.select(function(state) { return state[ ''.concat(model.namespace) ]['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__']; }); case 2: return _context13.abrupt('return', _context13.sent); case 3: case 'end': return _context13.stop(); } } }, _marked7); } /** * RES 相关 */ function openRES(title, biz, vmPath) { var width, height, params, ruiViewPrivateProps, laneID, _args14 = arguments; return _regenerator.default.wrap(function openRES$(_context14) { while (1) { switch ((_context14.prev = _context14.next)) { case 0: width = _args14.length > 3 && _args14[3] !== undefined ? _args14[3] : 1024; height = _args14.length > 4 && _args14[4] !== undefined ? _args14[4] : 600; params = _args14.length > 5 ? _args14[5] : undefined; if (!width) { width = 1024; } if (!height) { height = 600; } _context14.next = 7; return sagaEffects.select(function(state) { return state[''.concat(model.namespace)]['__RUI__VIEW__PRIVATE__PROPS__']; }); case 7: ruiViewPrivateProps = _context14.sent; laneID = ruiViewPrivateProps && ruiViewPrivateProps.laneID ? ruiViewPrivateProps.laneID : undefined; _context14.next = 11; return invoke('__draco__lane__/openRES', { biz: biz, vmPath: vmPath, width: width, height: height, title: title, params: params, laneID: laneID }); case 11: _context14.next = 13; return _context14.sent; case 13: return _context14.abrupt('return', _context14.sent); case 14: case 'end': return _context14.stop(); } } }, _marked8); } function getRES() { var ruiViewPrivateProps, laneID; return _regenerator.default.wrap(function getRES$(_context15) { while (1) { switch ((_context15.prev = _context15.next)) { case 0: _context15.next = 2; return sagaEffects.select(function(state) { return state[''.concat(model.namespace)]['__RUI__VIEW__PRIVATE__PROPS__']; }); case 2: ruiViewPrivateProps = _context15.sent; laneID = ruiViewPrivateProps.laneID; if (laneID) { _context15.next = 6; break; } throw new Error( 'RUI.getRES()\u672A\u627E\u5230\u5BF9\u5E94\u7684Lane\uFF0C\u8BF7\u68C0\u67E5\uFF01' ); case 6: return _context15.abrupt('return', new _res.ResAPI('__draco__lane__', model.namespace, laneID)); case 7: case 'end': return _context15.stop(); } } }, _marked9); } function getUTP() { return _regenerator.default.wrap(function getUTP$(_context16) { while (1) { switch ((_context16.prev = _context16.next)) { case 0: _context16.next = 2; return sagaEffects.select(function(state) { return state[ ''.concat(model.namespace) ]['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__']['UTPApi']; }); case 2: return _context16.abrupt('return', _context16.sent); case 3: case 'end': return _context16.stop(); } } }, _marked10); } function getAggFree() { return _regenerator.default.wrap(function getAggFree$(_context17) { while (1) { switch ((_context17.prev = _context17.next)) { case 0: _context17.next = 2; return sagaEffects.select(function(state) { return state[ ''.concat(model.namespace) ]['__RUI__VIEW__PRIVATE__PROPS__']['__user__custom__params__']['AggFreeApi']; }); case 2: return _context17.abrupt('return', _context17.sent); case 3: case 'end': return _context17.stop(); } } }, _marked11); } function getBeacon() { var ruiViewPrivateProps, beaconID, laneID; return _regenerator.default.wrap(function getBeacon$(_context18) { while (1) { switch ((_context18.prev = _context18.next)) { case 0: _context18.next = 2; return sagaEffects.select(function(state) { return state[''.concat(model.namespace)]['__RUI__VIEW__PRIVATE__PROPS__']; }); case 2: ruiViewPrivateProps = _context18.sent; (beaconID = ruiViewPrivateProps.beaconID), (laneID = ruiViewPrivateProps.laneID); if (!(!beaconID || !laneID)) { _context18.next = 6; break; } throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUI.getBeacon()\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5F53\u524D\u9875\u9762\u4E0D\u5904\u4E8EBeacon\u4E0B\uFF0C\u4E0D\u80FD\u8C03\u7528\u3010RUI.getBeacon()\u3011\u63A5\u53E3\n\u8BF7\u68C0\u67E5!' ); case 6: return _context18.abrupt( 'return', new _beacon.BeaconAPI('__draco__lane__', model.namespace, laneID, beaconID) ); case 7: case 'end': return _context18.stop(); } } }, _marked12); } function getNamespace() { return _regenerator.default.wrap(function getNamespace$(_context19) { while (1) { switch ((_context19.prev = _context19.next)) { case 0: return _context19.abrupt('return', model.namespace); case 1: case 'end': return _context19.stop(); } } }, _marked13); } function getObject(name, childName) { var bizState, btnInFormToFind, formToFind, formApi, _bizState, tagNameToFind, firstLevelState, childNamesList, childResultName, o; return _regenerator.default.wrap(function getObject$(_context20) { while (1) { switch ((_context20.prev = _context20.next)) { case 0: if (!(typeof name !== 'string')) { _context20.next = 2; break; } throw new Error( 'RUI.getObject(name)\uFF0C\u5165\u53C2 name \u5FC5\u987B\u4E3A string \u7C7B\u578B\uFF0C\u5F53\u524D\u4F20\u5165\u3010'.concat( name, '\u3011\uFF0C\u8BF7\u68C0\u67E5!' ) ); case 2: if (!(childName && typeof childName !== 'string')) { _context20.next = 4; break; } throw new Error( 'RUI.getObject(name, childName)\uFF0C\u5165\u53C2 childName \u5FC5\u987B\u4E3A string \u7C7B\u578B\uFF0C\u5F53\u524D\u4F20\u5165\u3010'.concat( childName, '\u3011\uFF0C\u8BF7\u68C0\u67E5!' ) ); case 4: if (!childName) { _context20.next = 24; break; } childName = childName.toLowerCase(); // 只有 // 1. getObject(formName, itemName) // 2. getObject(formName, btnName) // 满足这种用法 _context20.next = 8; return sagaEffects.select(function(state) { return state[''.concat(model.namespace)]; }); case 8: bizState = _context20.sent; // 1. 先试着找Form下的Button btnInFormToFind = name + '->' + childName; if ( !( bizState && bizState['@@tags'] && bizState['@@tags'][btnInFormToFind] && bizState['@@tags'][btnInFormToFind]['@@api'] ) ) { _context20.next = 12; break; } return _context20.abrupt('return', bizState['@@tags'][btnInFormToFind]['@@api']); case 12: // 2. 再试着找Form下的item formToFind = name; if ( !( bizState && bizState['@@tags'] && bizState['@@tags'][formToFind] && bizState['@@tags'][formToFind]['@@api'] ) ) { _context20.next = 22; break; } formApi = bizState['@@tags'][formToFind]['@@api']; if (!formApi.getObject) { _context20.next = 21; break; } _context20.next = 18; return formApi.getObject(bizState['@@tags'][formToFind], childName); case 18: return _context20.abrupt('return', _context20.sent); case 21: throw new Error( "getObject('" .concat(name, "', '") .concat(childName, "')\uFF0C\u540D\u4E3A\u3010") .concat( name, '\u3011\u7684\u7EC4\u4EF6\u4E0D\u662F\u4E00\u4E2AForm\uFF0C\u8BF7\u68C0\u67E5!' ) ); case 22: _context20.next = 44; break; case 24: _context20.next = 26; return sagaEffects.select(function(state) { return state[''.concat(model.namespace)]; }); case 26: _bizState = _context20.sent; tagNameToFind = name; if ( !( _bizState && _bizState['@@tags'] && _bizState['@@tags'][tagNameToFind] && _bizState['@@tags'][tagNameToFind]['@@api'] ) ) { _context20.next = 30; break; } return _context20.abrupt('return', _bizState['@@tags'][tagNameToFind]['@@api']); case 30: _context20.next = 32; return sagaEffects.select(function(state) { return state[''.concat(model.namespace, '_').concat(name)]; }); case 32: firstLevelState = _context20.sent; if (firstLevelState) { _context20.next = 35; break; } throw new Error( "getObject('".concat( name, "')\u83B7\u53D6\u7684\u5BF9\u8C61\u4E3A\u7A7A\uFF01\u8BF7\u68C0\u67E5\uFF01" ) ); case 35: childNamesList = []; childResultName = ''; if (childName) { childNamesList.push(childName); } childResultName = childNamesList.reduce(function(total, currentValue) { return ''.concat(total, '_').concat(currentValue); }, ''); _context20.next = 41; return sagaEffects.select(function(state) { return state[ '' .concat(model.namespace, '_') .concat(name) .concat(childResultName) ]; }); case 41: o = _context20.sent; if (!(o && o.__draco__tag__api__factory__)) { _context20.next = 44; break; } return _context20.abrupt( 'return', o.__draco__tag__api__factory__( '' .concat(model.namespace, '_') .concat(name) .concat(childResultName), sagaEffects ) ); case 44: case 'end': return _context20.stop(); } } }, _marked14); } // // 自定义函数 - end // ///////////////////////////////////////////////////////////////////////////// return (0, _objectSpread2.default)({}, sagaEffects, { put: put, take: take, asynchFillData: asynchFillData, getBeacon: getBeacon, getNamespace: getNamespace, getObject: getObject, getParameter: getParameter, getParameters: getParameters, getRES: getRES, getState: getState, getUTP: getUTP, invoke: invoke, invokeWithNamespace: invokeWithNamespace, openRES: openRES }); } function applyOnEffect(fns, effect, model, key) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for ( var _iterator = fns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true ) { var fn = _step.value; effect = fn(effect, sagaEffects, model, key); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return effect; } //@ sourceMappingURL=getSaga.js.map