@expressive/mvc 0.21.7 → 0.21.8
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/index.esm.js +13 -5
- package/lib/index.js +13 -5
- package/package.json +1 -1
package/lib/index.esm.js
CHANGED
|
@@ -866,18 +866,26 @@ function set(value, argument) {
|
|
|
866
866
|
return getter();
|
|
867
867
|
};
|
|
868
868
|
}
|
|
869
|
+
let setter = typeof argument == "function"
|
|
870
|
+
? createValueEffect(argument)
|
|
871
|
+
: undefined;
|
|
869
872
|
if (value !== undefined)
|
|
870
873
|
state[key] = value;
|
|
874
|
+
else if (setter) {
|
|
875
|
+
const effect = setter;
|
|
876
|
+
setter = function (value) {
|
|
877
|
+
if (!(key in state))
|
|
878
|
+
state[key] = undefined;
|
|
879
|
+
return effect.call(this, value);
|
|
880
|
+
};
|
|
881
|
+
}
|
|
871
882
|
return {
|
|
872
883
|
get: () => {
|
|
873
884
|
if (key in state)
|
|
874
885
|
return state[key];
|
|
875
|
-
|
|
876
|
-
throw suspense(control, key);
|
|
886
|
+
throw suspense(control, key);
|
|
877
887
|
},
|
|
878
|
-
set:
|
|
879
|
-
? createValueEffect(argument)
|
|
880
|
-
: undefined
|
|
888
|
+
set: setter
|
|
881
889
|
};
|
|
882
890
|
});
|
|
883
891
|
}
|
package/lib/index.js
CHANGED
|
@@ -870,18 +870,26 @@ function set(value, argument) {
|
|
|
870
870
|
return getter();
|
|
871
871
|
};
|
|
872
872
|
}
|
|
873
|
+
let setter = typeof argument == "function"
|
|
874
|
+
? createValueEffect(argument)
|
|
875
|
+
: undefined;
|
|
873
876
|
if (value !== undefined)
|
|
874
877
|
state[key] = value;
|
|
878
|
+
else if (setter) {
|
|
879
|
+
const effect = setter;
|
|
880
|
+
setter = function (value) {
|
|
881
|
+
if (!(key in state))
|
|
882
|
+
state[key] = undefined;
|
|
883
|
+
return effect.call(this, value);
|
|
884
|
+
};
|
|
885
|
+
}
|
|
875
886
|
return {
|
|
876
887
|
get: () => {
|
|
877
888
|
if (key in state)
|
|
878
889
|
return state[key];
|
|
879
|
-
|
|
880
|
-
throw suspense(control, key);
|
|
890
|
+
throw suspense(control, key);
|
|
881
891
|
},
|
|
882
|
-
set:
|
|
883
|
-
? createValueEffect(argument)
|
|
884
|
-
: undefined
|
|
892
|
+
set: setter
|
|
885
893
|
};
|
|
886
894
|
});
|
|
887
895
|
}
|
package/package.json
CHANGED