easy-soft-dva 3.6.4 → 3.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,159 @@
1
- import{d as e,_ as t,b as n}from"../regeneratorRuntime.js";function r(e,t,n,r,a,o,c){try{var s=e[o](c),i=s.value}catch(e){return void n(e)}s.done?t(i):Promise.resolve(i).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var c=e.apply(t,n);function s(e){r(c,a,o,s,i,"next",e)}function i(e){r(c,a,o,s,i,"throw",e)}s(void 0)}))}}var o="@@DVA_LOADING/SHOW",c="@@DVA_LOADING/HIDE",s="loading";function i(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=r.namespace||s,i=r.only,u=void 0===i?[]:i,f=r.except,p=void 0===f?[]:f;if(u.length>0&&p.length>0)throw Error("It is ambiguous to configurate `only` and `except` items at the same time.");var l={global:!1,models:{},effects:{}},d=e({},a,(function(){var n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,a=arguments.length>1?arguments[1]:void 0,s=a.type,i=a.payload,u=i||{},f=u.namespace,p=u.actionType;switch(s){case o:n=t(t({},r),{},{global:!0,models:t(t({},r.models),{},e({},f,!0)),effects:t(t({},r.effects),{},e({},p,!0))});break;case c:var d=t(t({},r.effects),{},e({},p,!1)),m=t(t({},r.models),{},e({},f,Object.keys(d).some((function(e){return e.split("/")[0]===f&&d[e]})))),v=Object.keys(m).some((function(e){return m[e]}));n=t(t({},r),{},{global:v,models:m,effects:d});break;default:n=r}return n}));function m(e,t,r,a){var s=t.put,i=r.namespace;return 0===u.length&&0===p.length||u.length>0&&-1!==u.indexOf(a)||p.length>0&&-1===p.indexOf(a)?n().mark((function t(){var r=arguments;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s({type:o,payload:{namespace:i,actionType:a}});case 2:return t.next=4,e.apply(void 0,r);case 4:return t.next=6,s({type:c,payload:{namespace:i,actionType:a}});case 6:case"end":return t.stop()}}),t)})):e}return{extraReducers:d,onEffect:m}}function u(){return f.apply(this,arguments)}function f(){return(f=a(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{});case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}export{i as createLoading,u as empty};
1
+ import { d as _defineProperty, _ as _objectSpread2, b as _regeneratorRuntime } from '../regeneratorRuntime.js';
2
+
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
4
+ try {
5
+ var info = gen[key](arg);
6
+ var value = info.value;
7
+ } catch (error) {
8
+ reject(error);
9
+ return;
10
+ }
11
+ if (info.done) {
12
+ resolve(value);
13
+ } else {
14
+ Promise.resolve(value).then(_next, _throw);
15
+ }
16
+ }
17
+ function _asyncToGenerator(fn) {
18
+ return function () {
19
+ var self = this,
20
+ args = arguments;
21
+ return new Promise(function (resolve, reject) {
22
+ var gen = fn.apply(self, args);
23
+ function _next(value) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
25
+ }
26
+ function _throw(err) {
27
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
28
+ }
29
+ _next(undefined);
30
+ });
31
+ };
32
+ }
33
+
34
+ var SHOW = '@@DVA_LOADING/SHOW';
35
+ var HIDE = '@@DVA_LOADING/HIDE';
36
+ var NAMESPACE = 'loading';
37
+ function createLoading() {
38
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ var namespace = opts.namespace || NAMESPACE;
40
+ var _opts$only = opts.only,
41
+ only = _opts$only === void 0 ? [] : _opts$only,
42
+ _opts$except = opts.except,
43
+ except = _opts$except === void 0 ? [] : _opts$except;
44
+ if (only.length > 0 && except.length > 0) {
45
+ throw Error('It is ambiguous to configurate `only` and `except` items at the same time.');
46
+ }
47
+ var initialState = {
48
+ global: false,
49
+ models: {},
50
+ effects: {}
51
+ };
52
+ var extraReducers = _defineProperty({}, namespace, function () {
53
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
54
+ var _ref = arguments.length > 1 ? arguments[1] : undefined,
55
+ type = _ref.type,
56
+ payload = _ref.payload;
57
+ var _ref2 = payload || {},
58
+ ns = _ref2.namespace,
59
+ actionType = _ref2.actionType;
60
+ var ret;
61
+ switch (type) {
62
+ case SHOW:
63
+ ret = _objectSpread2(_objectSpread2({}, state), {}, {
64
+ global: true,
65
+ models: _objectSpread2(_objectSpread2({}, state.models), {}, _defineProperty({}, ns, true)),
66
+ effects: _objectSpread2(_objectSpread2({}, state.effects), {}, _defineProperty({}, actionType, true))
67
+ });
68
+ break;
69
+ case HIDE:
70
+ {
71
+ var effects = _objectSpread2(_objectSpread2({}, state.effects), {}, _defineProperty({}, actionType, false));
72
+ var models = _objectSpread2(_objectSpread2({}, state.models), {}, _defineProperty({}, ns, Object.keys(effects).some(function (at) {
73
+ var _namespace = at.split('/')[0];
74
+ if (_namespace !== ns) return false;
75
+ return effects[at];
76
+ })));
77
+ var global = Object.keys(models).some(function (n) {
78
+ return models[n];
79
+ });
80
+ ret = _objectSpread2(_objectSpread2({}, state), {}, {
81
+ global: global,
82
+ models: models,
83
+ effects: effects
84
+ });
85
+ break;
86
+ }
87
+ default:
88
+ ret = state;
89
+ break;
90
+ }
91
+ return ret;
92
+ });
93
+ function onEffect(effect, _ref3, model, actionType) {
94
+ var put = _ref3.put;
95
+ var ns = model.namespace;
96
+ if (only.length === 0 && except.length === 0 || only.length > 0 && only.indexOf(actionType) !== -1 || except.length > 0 && except.indexOf(actionType) === -1) {
97
+ return /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
98
+ var _args = arguments;
99
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
100
+ while (1) switch (_context.prev = _context.next) {
101
+ case 0:
102
+ _context.next = 2;
103
+ return put({
104
+ type: SHOW,
105
+ payload: {
106
+ namespace: ns,
107
+ actionType: actionType
108
+ }
109
+ });
110
+ case 2:
111
+ _context.next = 4;
112
+ return effect.apply(void 0, _args);
113
+ case 4:
114
+ _context.next = 6;
115
+ return put({
116
+ type: HIDE,
117
+ payload: {
118
+ namespace: ns,
119
+ actionType: actionType
120
+ }
121
+ });
122
+ case 6:
123
+ case "end":
124
+ return _context.stop();
125
+ }
126
+ }, _callee);
127
+ });
128
+ } else {
129
+ return effect;
130
+ }
131
+ }
132
+ return {
133
+ extraReducers: extraReducers,
134
+ onEffect: onEffect
135
+ };
136
+ }
137
+
138
+ /**
139
+ * placeholder function
140
+ */
141
+ function empty() {
142
+ return _empty.apply(this, arguments);
143
+ }
144
+ function _empty() {
145
+ _empty = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
146
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
147
+ while (1) switch (_context2.prev = _context2.next) {
148
+ case 0:
149
+ return _context2.abrupt("return", {});
150
+ case 1:
151
+ case "end":
152
+ return _context2.stop();
153
+ }
154
+ }, _callee2);
155
+ }));
156
+ return _empty.apply(this, arguments);
157
+ }
158
+
159
+ export { createLoading, empty };
package/es/index.js CHANGED
@@ -1 +1,178 @@
1
- import{_ as t}from"./regeneratorRuntime.js";import{displayTextMessage as e,isNumber as a,logWarn as o,toNumber as r,logError as n,isUndefined as c,isString as i,setCache as l,logDebug as s}from"easy-soft-utility";import{create as u}from"./dva-core/index.js";export{Provider,connect}from"./dva-core/index.js";import{createLoading as d}from"./dva-loading/index.js";import"invariant";import"react-redux";import"redux";import"redux-saga";import"is-plain-object";import"flatten";import"@reduxjs/toolkit";import"warning";function f(t){return"".concat("easy-soft-dva","::").concat(t,"::")}var m="stateAssist";function p(){if(!y.defaultCodeSetComplete&&!y.defaultCodePromptSetInformationComplete){var t="".concat(f(m),"logData -> logger display switch default is false, if want to display log, please set it before first log, use setLoggerDisplaySwitch to set it, this message only show once.");e({text:t,color:"#08BBEE",dataDescription:"hint",ancillaryInformation:""});try{throw new Error("please set use setStateDefaultCode")}catch(t){console.error(t)}y.defaultCodePromptSetInformationComplete=!0}return y.defaultCode}var h,g,v,C,y={defaultCodePromptSetInformationComplete:!1,defaultCodeSetComplete:!1,defaultCode:200};function S(t){a(t)||o("".concat(f(m),"setStateDefaultCode -> code must be number")),y.defaultCode=r(t)}function x(t){return(h=u(t)).use(d({})),C||t.models.forEach((function(t){return h.model(t)})),C=!0,h.start(),g=h._store,h.getStore=function(){return g},h.use({onError:function(t){n(t)}}),v=g.dispatch,h.dispatch=v,h}var D={reducerData:"reducerData"};function w(e,a,o){var r=t(t({},{callback:null,pretreatment:null,alias:null,cacheData:!1}),a),n=r.payload,u=r.alias,d=r.cacheData,f=null;if(c(u)||!i(u)?f=t(t({},e),{},{data:n,fromRemote:!0}):(f=t(t({},e),{},{fromRemote:!0}))[u]=n,d){var m="".concat(o,"_").concat(u||"data"),p=l({key:m,value:n});s("modal ".concat(o," cache data, key is ").concat(o,"_").concat(u||"data",", ").concat(p?"cache success":"cache fail","."))}return f}var b={reducerData:function(t,e,a){return w(t,e,a)}};function j(t){return x({initialState:{},models:t}).getStore()}var k={data:{code:p(),message:"success",dataSuccess:!0,data:{},list:[],extra:{}}},E={cacheData:!1},I={callback:null,pretreatment:null};function P(){return h.dispatch}export{x as createApp,p as getDefaultCode,P as getDispatchWrapper,j as getStore,I as handleDefaultParams,b as reducerCollection,w as reducerDataAssist,E as reducerDefaultParams,D as reducerNameCollection,S as setStateDefaultCode,y as stateConfigure,k as tacitlyState};
1
+ import { _ as _objectSpread2 } from './regeneratorRuntime.js';
2
+ import { displayTextMessage, isNumber, logWarn, toNumber, logError, isUndefined, isString, setCache, logDebug } from 'easy-soft-utility';
3
+ import { create } from './dva-core/index.js';
4
+ export { Provider, connect } from './dva-core/index.js';
5
+ import { createLoading } from './dva-loading/index.js';
6
+ import 'invariant';
7
+ import 'react-redux';
8
+ import 'redux';
9
+ import 'redux-saga';
10
+ import 'is-plain-object';
11
+ import 'flatten';
12
+ import '@reduxjs/toolkit';
13
+ import 'warning';
14
+
15
+ /**
16
+ * Module Package Name
17
+ */
18
+ var modulePackageName = 'easy-soft-dva';
19
+
20
+ /**
21
+ * Build prompt module info
22
+ */
23
+ function buildPromptModuleInfo(moduleName) {
24
+ return "".concat(modulePackageName, "::").concat(moduleName, "::");
25
+ }
26
+
27
+ /**
28
+ * Module Name.
29
+ */
30
+ var moduleName = 'stateAssist';
31
+
32
+ /**
33
+ * Get default code
34
+ */
35
+ function getDefaultCode() {
36
+ if (!stateConfigure.defaultCodeSetComplete) {
37
+ if (!stateConfigure.defaultCodePromptSetInformationComplete) {
38
+ var text = "".concat(buildPromptModuleInfo(moduleName), "logData -> logger display switch default is false, if want to display log, please set it before first log, use setLoggerDisplaySwitch to set it, this message only show once.");
39
+ displayTextMessage({
40
+ text: text,
41
+ color: '#08BBEE',
42
+ dataDescription: 'hint',
43
+ ancillaryInformation: ''
44
+ });
45
+ try {
46
+ throw new Error('please set use setStateDefaultCode');
47
+ } catch (error) {
48
+ console.error(error);
49
+ }
50
+ stateConfigure.defaultCodePromptSetInformationComplete = true;
51
+ }
52
+ }
53
+ return stateConfigure.defaultCode;
54
+ }
55
+
56
+ /**
57
+ * state configure
58
+ */
59
+ var stateConfigure = {
60
+ defaultCodePromptSetInformationComplete: false,
61
+ defaultCodeSetComplete: false,
62
+ defaultCode: 200
63
+ };
64
+
65
+ /**
66
+ * Set state default code
67
+ * @param {Number} code state default code
68
+ */
69
+ function setStateDefaultCode(code) {
70
+ if (!isNumber(code)) {
71
+ logWarn("".concat(buildPromptModuleInfo(moduleName), "setStateDefaultCode -> code must be number"));
72
+ }
73
+ stateConfigure.defaultCode = toNumber(code);
74
+ }
75
+
76
+ var app;
77
+ var store;
78
+ var dispatch;
79
+ var registered;
80
+ function createApp(opt) {
81
+ app = create(opt);
82
+ app.use(createLoading({}));
83
+ if (!registered) {
84
+ opt.models.forEach(function (model) {
85
+ return app.model(model);
86
+ });
87
+ }
88
+ registered = true;
89
+ app.start();
90
+ store = app._store;
91
+ app.getStore = function () {
92
+ return store;
93
+ };
94
+ app.use({
95
+ onError: function onError(err) {
96
+ logError(err);
97
+ }
98
+ });
99
+ dispatch = store.dispatch;
100
+ app.dispatch = dispatch;
101
+ return app;
102
+ }
103
+ var reducerNameCollection = {
104
+ reducerData: 'reducerData'
105
+ };
106
+ function reducerDataAssist(state, action, namespace) {
107
+ var _callback$pretreatmen = _objectSpread2(_objectSpread2({}, {
108
+ callback: null,
109
+ pretreatment: null,
110
+ alias: null,
111
+ cacheData: false
112
+ }), action),
113
+ v = _callback$pretreatmen.payload,
114
+ alias = _callback$pretreatmen.alias,
115
+ cacheData = _callback$pretreatmen.cacheData;
116
+ var result = null;
117
+ if (isUndefined(alias) || !isString(alias)) {
118
+ result = _objectSpread2(_objectSpread2({}, state), {}, {
119
+ data: v,
120
+ fromRemote: true
121
+ });
122
+ } else {
123
+ result = _objectSpread2(_objectSpread2({}, state), {}, {
124
+ fromRemote: true
125
+ });
126
+ result[alias] = v;
127
+ }
128
+ if (cacheData) {
129
+ var key = "".concat(namespace, "_").concat(alias || 'data');
130
+ var cacheResult = setCache({
131
+ key: key,
132
+ value: v
133
+ });
134
+ logDebug("modal ".concat(namespace, " cache data, key is ").concat(namespace, "_").concat(alias || 'data', ", ").concat(cacheResult ? 'cache success' : 'cache fail', "."));
135
+ }
136
+ return result;
137
+ }
138
+ var reducerCollection = {
139
+ reducerData: function reducerData(state, action, namespace) {
140
+ return reducerDataAssist(state, action, namespace);
141
+ }
142
+ };
143
+ function getStore(models) {
144
+ var dvaApp = createApp({
145
+ initialState: {},
146
+ models: models
147
+ });
148
+ var result = dvaApp.getStore();
149
+ return result;
150
+ }
151
+
152
+ /**
153
+ * get tacitly state, it is for state initialization.
154
+ */
155
+ function getTacitlyState() {
156
+ return {
157
+ data: {
158
+ code: getDefaultCode(),
159
+ message: 'success',
160
+ dataSuccess: true,
161
+ data: {},
162
+ list: [],
163
+ extra: {}
164
+ }
165
+ };
166
+ }
167
+ var reducerDefaultParams = {
168
+ cacheData: false
169
+ };
170
+ var handleDefaultParams = {
171
+ callback: null,
172
+ pretreatment: null
173
+ };
174
+ function getDispatchWrapper() {
175
+ return app.dispatch;
176
+ }
177
+
178
+ export { createApp, getDefaultCode, getDispatchWrapper, getStore, getTacitlyState, handleDefaultParams, reducerCollection, reducerDataAssist, reducerDefaultParams, reducerNameCollection, setStateDefaultCode, stateConfigure };