@cclr/model 0.1.11 → 0.1.12
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 +25 -0
- package/lib/esm/index.js +25 -1
- package/lib/type/index.d.ts +19 -1
- package/package.json +4 -4
package/lib/cjs/index.js
CHANGED
|
@@ -449,7 +449,32 @@ var ModelSingle = function ModelSingle(model) {
|
|
|
449
449
|
};
|
|
450
450
|
};
|
|
451
451
|
|
|
452
|
+
/**
|
|
453
|
+
* 简化的 Model
|
|
454
|
+
* @param value
|
|
455
|
+
* @returns
|
|
456
|
+
*/
|
|
457
|
+
var ModelSimple = function ModelSimple(value) {
|
|
458
|
+
return ModelSingle({
|
|
459
|
+
state: {
|
|
460
|
+
value: value
|
|
461
|
+
},
|
|
462
|
+
actions: {
|
|
463
|
+
setValue: function setValue(value) {
|
|
464
|
+
return function (state) {
|
|
465
|
+
var newValue = value;
|
|
466
|
+
if (lang.isFunction(newValue)) {
|
|
467
|
+
newValue = newValue(state.value);
|
|
468
|
+
}
|
|
469
|
+
state.value = newValue;
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
};
|
|
475
|
+
|
|
452
476
|
exports.Model = Model;
|
|
477
|
+
exports.ModelSimple = ModelSimple;
|
|
453
478
|
exports.ModelSingle = ModelSingle;
|
|
454
479
|
exports.gatter = gatter;
|
|
455
480
|
exports.gatterSync = gatterSync;
|
package/lib/esm/index.js
CHANGED
|
@@ -447,4 +447,28 @@ var ModelSingle = function ModelSingle(model) {
|
|
|
447
447
|
};
|
|
448
448
|
};
|
|
449
449
|
|
|
450
|
-
|
|
450
|
+
/**
|
|
451
|
+
* 简化的 Model
|
|
452
|
+
* @param value
|
|
453
|
+
* @returns
|
|
454
|
+
*/
|
|
455
|
+
var ModelSimple = function ModelSimple(value) {
|
|
456
|
+
return ModelSingle({
|
|
457
|
+
state: {
|
|
458
|
+
value: value
|
|
459
|
+
},
|
|
460
|
+
actions: {
|
|
461
|
+
setValue: function setValue(value) {
|
|
462
|
+
return function (state) {
|
|
463
|
+
var newValue = value;
|
|
464
|
+
if (isFunction(newValue)) {
|
|
465
|
+
newValue = newValue(state.value);
|
|
466
|
+
}
|
|
467
|
+
state.value = newValue;
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
export { Model, ModelSimple, ModelSingle, gatter, gatterSync, handleModelMiddlewareConfig, logger, loggerSync, presetMiddleware, presetMiddlewareSync, publish, returnState, setter, tryCatch, tryCatchSync };
|
package/lib/type/index.d.ts
CHANGED
|
@@ -103,6 +103,9 @@ type ModelType<S extends TState = TState, PM extends TPlainObject = TPlainObject
|
|
|
103
103
|
middleware?: TMiddleware[];
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
+
type TGetStateType<T extends ModelsSingleApi<ModelType>> = ReturnType<T['getState']>;
|
|
107
|
+
type TGetActionsType<T extends ModelsSingleApi<ModelType>> = ReturnType<T['getActions']>;
|
|
108
|
+
|
|
106
109
|
declare const middlewareConfig: {
|
|
107
110
|
showLog: boolean;
|
|
108
111
|
};
|
|
@@ -145,4 +148,19 @@ declare const Model: <MS extends ModelsType>(models: MS) => ModelsApi<MS>;
|
|
|
145
148
|
*/
|
|
146
149
|
declare const ModelSingle: <MT extends ModelType>(model: MT) => ModelsSingleApi<MT>;
|
|
147
150
|
|
|
148
|
-
|
|
151
|
+
interface IState {
|
|
152
|
+
value: TAny;
|
|
153
|
+
}
|
|
154
|
+
type TModelSimple<T extends IState['value']> = ModelsSingleApi<ModelType<{
|
|
155
|
+
value: T;
|
|
156
|
+
}, {
|
|
157
|
+
setValue: T | ((store: T) => T);
|
|
158
|
+
}>>;
|
|
159
|
+
/**
|
|
160
|
+
* 简化的 Model
|
|
161
|
+
* @param value
|
|
162
|
+
* @returns
|
|
163
|
+
*/
|
|
164
|
+
declare const ModelSimple: <T extends unknown>(value: T) => TModelSimple<T>;
|
|
165
|
+
|
|
166
|
+
export { Model, ModelSimple, ModelSingle, type ModelType, type ModelsApi, type ModelsSingleApi, type ModelsType, type TAction, type TActionMapApi, type TGetActionsType, type TGetStateType, type TMiddleware, type TSubscribesFun, gatter, gatterSync, handleModelMiddlewareConfig, logger, loggerSync, presetMiddleware, presetMiddlewareSync, publish, returnState, setter, tryCatch, tryCatchSync };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cclr/model",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "前端开发状态管理",
|
|
5
5
|
"author": "cclr <18843152354@163.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"g:test": "vitest run",
|
|
28
28
|
"g:build": "ccf build"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "5d72cd2a2b31db1d09ffc5a19aba6c23ff81abd4",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cclr/lang": "0.1.
|
|
33
|
-
"@cclr/utils": "0.1.
|
|
32
|
+
"@cclr/lang": "0.1.12",
|
|
33
|
+
"@cclr/utils": "0.1.12",
|
|
34
34
|
"immer": "^10.1.1"
|
|
35
35
|
}
|
|
36
36
|
}
|