dareway-rui
Version:
1,260 lines (1,071 loc) • 49.5 kB
JavaScript
'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