@cclr/react-model 0.1.13 → 0.1.15
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.
- package/lib/cjs/index.js +58 -21
- package/lib/esm/index.js +58 -22
- package/lib/type/index.d.ts +15 -1
- package/package.json +8 -6
package/lib/cjs/index.js
CHANGED
|
@@ -93,29 +93,28 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
97
|
-
* @param modelName
|
|
96
|
+
* 获取精简的模型状态和操作
|
|
98
97
|
* @param model
|
|
99
98
|
* @returns
|
|
100
99
|
*/
|
|
101
|
-
var
|
|
100
|
+
var useSimpleStore = function useSimpleStore(model) {
|
|
102
101
|
var _useState = react.useState({}),
|
|
103
102
|
_useState2 = _slicedToArray(_useState, 2),
|
|
104
103
|
setState = _useState2[1];
|
|
105
104
|
react.useEffect(function () {
|
|
106
|
-
return model.subscribe(
|
|
105
|
+
return model.subscribe(function () {
|
|
107
106
|
setState({});
|
|
108
107
|
});
|
|
109
108
|
}, []);
|
|
110
|
-
return [model.getState(
|
|
109
|
+
return [model.getState().value, model.getActions().setValue];
|
|
111
110
|
};
|
|
112
111
|
|
|
113
112
|
/**
|
|
114
|
-
*
|
|
113
|
+
* 获取精简的模型值
|
|
115
114
|
* @param model
|
|
116
115
|
* @returns
|
|
117
116
|
*/
|
|
118
|
-
var
|
|
117
|
+
var useSimpleValue = function useSimpleValue(model) {
|
|
119
118
|
var _useState3 = react.useState({}),
|
|
120
119
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
121
120
|
setState = _useState4[1];
|
|
@@ -124,33 +123,70 @@ var useSimpleStore = function useSimpleStore(model) {
|
|
|
124
123
|
setState({});
|
|
125
124
|
});
|
|
126
125
|
}, []);
|
|
127
|
-
return
|
|
126
|
+
return model.getState().value;
|
|
128
127
|
};
|
|
129
128
|
|
|
130
129
|
/**
|
|
131
|
-
*
|
|
130
|
+
* 获取精简的模型值设置
|
|
132
131
|
* @param model
|
|
133
132
|
* @returns
|
|
134
133
|
*/
|
|
135
|
-
var
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
134
|
+
var useSimpleSet = function useSimpleSet(model) {
|
|
135
|
+
return model.getActions().setValue;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* 对于对象类型的模型,获取对象的状态和操作
|
|
140
|
+
* 依赖 ModelSimple
|
|
141
|
+
* @param model
|
|
142
|
+
* @returns
|
|
143
|
+
*/
|
|
144
|
+
var useObjStore = function useObjStore(model) {
|
|
145
|
+
var _useSimpleStore = useSimpleStore(model),
|
|
146
|
+
_useSimpleStore2 = _slicedToArray(_useSimpleStore, 2),
|
|
147
|
+
val = _useSimpleStore2[0],
|
|
148
|
+
set = _useSimpleStore2[1];
|
|
149
|
+
var handleUpdate = function handleUpdate(key, value) {
|
|
150
|
+
set(function (prev) {
|
|
151
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty({}, key, value));
|
|
142
152
|
});
|
|
143
|
-
}
|
|
144
|
-
|
|
153
|
+
};
|
|
154
|
+
var handleForce = function handleForce(map) {
|
|
155
|
+
set(map);
|
|
156
|
+
};
|
|
157
|
+
var handleDel = function handleDel(keys) {
|
|
158
|
+
set(function (prev) {
|
|
159
|
+
var next = _objectSpread2({}, prev);
|
|
160
|
+
keys.forEach(function (key) {
|
|
161
|
+
delete next[key];
|
|
162
|
+
});
|
|
163
|
+
return next;
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
return {
|
|
167
|
+
value: val,
|
|
168
|
+
handleUpdate: handleUpdate,
|
|
169
|
+
handleForce: handleForce,
|
|
170
|
+
handleDel: handleDel
|
|
171
|
+
};
|
|
145
172
|
};
|
|
146
173
|
|
|
147
174
|
/**
|
|
148
|
-
*
|
|
175
|
+
* 获取指定模型的状态和操作
|
|
176
|
+
* @param modelName
|
|
149
177
|
* @param model
|
|
150
178
|
* @returns
|
|
151
179
|
*/
|
|
152
|
-
var
|
|
153
|
-
|
|
180
|
+
var useStore = function useStore(modelName, model) {
|
|
181
|
+
var _useState = react.useState({}),
|
|
182
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
183
|
+
setState = _useState2[1];
|
|
184
|
+
react.useEffect(function () {
|
|
185
|
+
return model.subscribe(modelName, function () {
|
|
186
|
+
setState({});
|
|
187
|
+
});
|
|
188
|
+
}, []);
|
|
189
|
+
return [model.getState(modelName), model.getActions(modelName)];
|
|
154
190
|
};
|
|
155
191
|
|
|
156
192
|
var ReactModel = function ReactModel(models) {
|
|
@@ -163,6 +199,7 @@ var ReactModel = function ReactModel(models) {
|
|
|
163
199
|
};
|
|
164
200
|
|
|
165
201
|
exports.ReactModel = ReactModel;
|
|
202
|
+
exports.useObjStore = useObjStore;
|
|
166
203
|
exports.useSimpleSet = useSimpleSet;
|
|
167
204
|
exports.useSimpleStore = useSimpleStore;
|
|
168
205
|
exports.useSimpleValue = useSimpleValue;
|
package/lib/esm/index.js
CHANGED
|
@@ -91,29 +91,28 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
|
-
*
|
|
95
|
-
* @param modelName
|
|
94
|
+
* 获取精简的模型状态和操作
|
|
96
95
|
* @param model
|
|
97
96
|
* @returns
|
|
98
97
|
*/
|
|
99
|
-
var
|
|
98
|
+
var useSimpleStore = function useSimpleStore(model) {
|
|
100
99
|
var _useState = useState({}),
|
|
101
100
|
_useState2 = _slicedToArray(_useState, 2),
|
|
102
101
|
setState = _useState2[1];
|
|
103
102
|
useEffect(function () {
|
|
104
|
-
return model.subscribe(
|
|
103
|
+
return model.subscribe(function () {
|
|
105
104
|
setState({});
|
|
106
105
|
});
|
|
107
106
|
}, []);
|
|
108
|
-
return [model.getState(
|
|
107
|
+
return [model.getState().value, model.getActions().setValue];
|
|
109
108
|
};
|
|
110
109
|
|
|
111
110
|
/**
|
|
112
|
-
*
|
|
111
|
+
* 获取精简的模型值
|
|
113
112
|
* @param model
|
|
114
113
|
* @returns
|
|
115
114
|
*/
|
|
116
|
-
var
|
|
115
|
+
var useSimpleValue = function useSimpleValue(model) {
|
|
117
116
|
var _useState3 = useState({}),
|
|
118
117
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
119
118
|
setState = _useState4[1];
|
|
@@ -122,33 +121,70 @@ var useSimpleStore = function useSimpleStore(model) {
|
|
|
122
121
|
setState({});
|
|
123
122
|
});
|
|
124
123
|
}, []);
|
|
125
|
-
return
|
|
124
|
+
return model.getState().value;
|
|
126
125
|
};
|
|
127
126
|
|
|
128
127
|
/**
|
|
129
|
-
*
|
|
128
|
+
* 获取精简的模型值设置
|
|
130
129
|
* @param model
|
|
131
130
|
* @returns
|
|
132
131
|
*/
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
var useSimpleSet = function useSimpleSet(model) {
|
|
133
|
+
return model.getActions().setValue;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* 对于对象类型的模型,获取对象的状态和操作
|
|
138
|
+
* 依赖 ModelSimple
|
|
139
|
+
* @param model
|
|
140
|
+
* @returns
|
|
141
|
+
*/
|
|
142
|
+
var useObjStore = function useObjStore(model) {
|
|
143
|
+
var _useSimpleStore = useSimpleStore(model),
|
|
144
|
+
_useSimpleStore2 = _slicedToArray(_useSimpleStore, 2),
|
|
145
|
+
val = _useSimpleStore2[0],
|
|
146
|
+
set = _useSimpleStore2[1];
|
|
147
|
+
var handleUpdate = function handleUpdate(key, value) {
|
|
148
|
+
set(function (prev) {
|
|
149
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty({}, key, value));
|
|
140
150
|
});
|
|
141
|
-
}
|
|
142
|
-
|
|
151
|
+
};
|
|
152
|
+
var handleForce = function handleForce(map) {
|
|
153
|
+
set(map);
|
|
154
|
+
};
|
|
155
|
+
var handleDel = function handleDel(keys) {
|
|
156
|
+
set(function (prev) {
|
|
157
|
+
var next = _objectSpread2({}, prev);
|
|
158
|
+
keys.forEach(function (key) {
|
|
159
|
+
delete next[key];
|
|
160
|
+
});
|
|
161
|
+
return next;
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
return {
|
|
165
|
+
value: val,
|
|
166
|
+
handleUpdate: handleUpdate,
|
|
167
|
+
handleForce: handleForce,
|
|
168
|
+
handleDel: handleDel
|
|
169
|
+
};
|
|
143
170
|
};
|
|
144
171
|
|
|
145
172
|
/**
|
|
146
|
-
*
|
|
173
|
+
* 获取指定模型的状态和操作
|
|
174
|
+
* @param modelName
|
|
147
175
|
* @param model
|
|
148
176
|
* @returns
|
|
149
177
|
*/
|
|
150
|
-
var
|
|
151
|
-
|
|
178
|
+
var useStore = function useStore(modelName, model) {
|
|
179
|
+
var _useState = useState({}),
|
|
180
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
181
|
+
setState = _useState2[1];
|
|
182
|
+
useEffect(function () {
|
|
183
|
+
return model.subscribe(modelName, function () {
|
|
184
|
+
setState({});
|
|
185
|
+
});
|
|
186
|
+
}, []);
|
|
187
|
+
return [model.getState(modelName), model.getActions(modelName)];
|
|
152
188
|
};
|
|
153
189
|
|
|
154
190
|
var ReactModel = function ReactModel(models) {
|
|
@@ -160,4 +196,4 @@ var ReactModel = function ReactModel(models) {
|
|
|
160
196
|
}, model);
|
|
161
197
|
};
|
|
162
198
|
|
|
163
|
-
export { ReactModel, useSimpleSet, useSimpleStore, useSimpleValue };
|
|
199
|
+
export { ReactModel, useObjStore, useSimpleSet, useSimpleStore, useSimpleValue };
|
package/lib/type/index.d.ts
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { ModelsSingleApi, ModelType, TGetStateType, TGetActionsType, ModelsType, TActionMapApi, TSubscribesFun } from '@cclr/model';
|
|
2
|
+
import { TPlainObject } from '@cclr/lang';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 对于对象类型的模型,获取对象的状态和操作
|
|
6
|
+
* 依赖 ModelSimple
|
|
7
|
+
* @param model
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
declare const useObjStore: <T extends ModelsSingleApi<ModelType>>(model: T) => {
|
|
11
|
+
value: ReturnType<T["getState"]>["value"];
|
|
12
|
+
handleUpdate: (key: string, value: any) => void;
|
|
13
|
+
handleForce: (map: TPlainObject) => void;
|
|
14
|
+
handleDel: (keys: string[]) => void;
|
|
15
|
+
};
|
|
2
16
|
|
|
3
17
|
/**
|
|
4
18
|
* 获取精简的模型状态和操作
|
|
@@ -37,4 +51,4 @@ type TReactModelsApi<MS extends ModelsType> = {
|
|
|
37
51
|
|
|
38
52
|
declare const ReactModel: <MT extends ModelsType>(models: MT) => TReactModelsApi<MT>;
|
|
39
53
|
|
|
40
|
-
export { ReactModel, useSimpleSet, useSimpleStore, useSimpleValue };
|
|
54
|
+
export { ReactModel, useObjStore, useSimpleSet, useSimpleStore, useSimpleValue };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cclr/react-model",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "前端开发状态管理",
|
|
5
5
|
"author": "cclr <18843152354@163.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,14 +27,16 @@
|
|
|
27
27
|
"g:test": "vitest run",
|
|
28
28
|
"g:build": "ccm lib"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "725a0de36f28dadbd785e5c3575d9db26248eaeb",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cclr/lang": "0.1.
|
|
33
|
-
"@cclr/model": "0.1.
|
|
34
|
-
"@cclr/utils": "0.1.
|
|
32
|
+
"@cclr/lang": "0.1.15",
|
|
33
|
+
"@cclr/model": "0.1.15",
|
|
34
|
+
"@cclr/utils": "0.1.15",
|
|
35
|
+
"immer": "^10.1.1"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
35
38
|
"@testing-library/react-hooks": "^8.0.1",
|
|
36
39
|
"@types/react": "^18.3.12",
|
|
37
|
-
"immer": "^10.1.1",
|
|
38
40
|
"react": "^18.3.1",
|
|
39
41
|
"react-dom": "^18.3.1"
|
|
40
42
|
}
|