as-model 0.1.26 → 0.1.28
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/README.md +558 -558
- package/dist/index.js +11 -6
- package/esm/store/enhance/signal.js +0 -1
- package/esm/store/instance.js +11 -5
- package/index.d.ts +322 -322
- package/package.json +68 -68
package/dist/index.js
CHANGED
|
@@ -836,17 +836,22 @@
|
|
|
836
836
|
return actionMethod;
|
|
837
837
|
}
|
|
838
838
|
function wrapToField(updater, propertyName, value, onGot) {
|
|
839
|
-
|
|
840
|
-
if (!cacheIdentify.field(value)) {
|
|
839
|
+
function collect(pName, v) {
|
|
841
840
|
if (onGot) {
|
|
842
|
-
onGot(
|
|
841
|
+
onGot(pName, v);
|
|
843
842
|
}
|
|
843
|
+
}
|
|
844
|
+
var cacheFields = updater.cacheFields;
|
|
845
|
+
if (!cacheIdentify.field(value)) {
|
|
846
|
+
collect(propertyName, value);
|
|
844
847
|
return value;
|
|
845
848
|
}
|
|
846
849
|
var field2 = value;
|
|
847
850
|
var cachedField = cacheFields[propertyName];
|
|
848
|
-
if (cachedField) {
|
|
849
|
-
|
|
851
|
+
if (cachedField && (field2.deps && shallowEqual(cachedField.deps, field2.deps) || !field2.deps && cachedField.value === field2.value)) {
|
|
852
|
+
var cacheFieldGetter = cachedField.getter;
|
|
853
|
+
collect(propertyName, cacheFieldGetter);
|
|
854
|
+
return cacheFieldGetter;
|
|
850
855
|
}
|
|
851
856
|
var getter = {
|
|
852
857
|
get: function get() {
|
|
@@ -880,6 +885,7 @@
|
|
|
880
885
|
value: field2.value,
|
|
881
886
|
deps: field2.deps
|
|
882
887
|
};
|
|
888
|
+
collect(propertyName, getter);
|
|
883
889
|
return getter;
|
|
884
890
|
}
|
|
885
891
|
function extractInstance(updater, onGet) {
|
|
@@ -975,7 +981,6 @@
|
|
|
975
981
|
};
|
|
976
982
|
signal.stopStatistics = function stopStatistics() {
|
|
977
983
|
signalStore.started = false;
|
|
978
|
-
signalStore.collection = {};
|
|
979
984
|
};
|
|
980
985
|
signal.subscribe = function subscribe(dispatchCallback) {
|
|
981
986
|
return store.subscribe(dispatchCallback);
|
|
@@ -65,7 +65,6 @@ function createSignal(store) {
|
|
|
65
65
|
};
|
|
66
66
|
signal.stopStatistics = function stopStatistics() {
|
|
67
67
|
signalStore.started = false;
|
|
68
|
-
signalStore.collection = {};
|
|
69
68
|
};
|
|
70
69
|
signal.subscribe = function subscribe(dispatchCallback) {
|
|
71
70
|
return store.subscribe(dispatchCallback);
|
package/esm/store/instance.js
CHANGED
|
@@ -79,17 +79,22 @@ function wrapToActionMethod(updater, methodName) {
|
|
|
79
79
|
return actionMethod;
|
|
80
80
|
}
|
|
81
81
|
function wrapToField(updater, propertyName, value, onGot) {
|
|
82
|
-
|
|
83
|
-
if (!cacheIdentify.field(value)) {
|
|
82
|
+
function collect(pName, v) {
|
|
84
83
|
if (onGot) {
|
|
85
|
-
onGot(
|
|
84
|
+
onGot(pName, v);
|
|
86
85
|
}
|
|
86
|
+
}
|
|
87
|
+
const { cacheFields } = updater;
|
|
88
|
+
if (!cacheIdentify.field(value)) {
|
|
89
|
+
collect(propertyName, value);
|
|
87
90
|
return value;
|
|
88
91
|
}
|
|
89
92
|
const field = value;
|
|
90
93
|
const cachedField = cacheFields[propertyName];
|
|
91
|
-
if (cachedField) {
|
|
92
|
-
|
|
94
|
+
if (cachedField && (field.deps && shallowEqual(cachedField.deps, field.deps) || !field.deps && cachedField.value === field.value)) {
|
|
95
|
+
const cacheFieldGetter = cachedField.getter;
|
|
96
|
+
collect(propertyName, cacheFieldGetter);
|
|
97
|
+
return cacheFieldGetter;
|
|
93
98
|
}
|
|
94
99
|
const getter = {
|
|
95
100
|
get() {
|
|
@@ -119,6 +124,7 @@ function wrapToField(updater, propertyName, value, onGot) {
|
|
|
119
124
|
}
|
|
120
125
|
};
|
|
121
126
|
cacheFields[propertyName] = { getter, value: field.value, deps: field.deps };
|
|
127
|
+
collect(propertyName, getter);
|
|
122
128
|
return getter;
|
|
123
129
|
}
|
|
124
130
|
function extractInstance(updater, onGet) {
|