as-model 0.2.4 → 0.2.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.
- package/dist/index.js +33 -25
- package/esm/defaults.js +6 -0
- package/esm/model/index.js +2 -3
- package/esm/store/instance.js +28 -21
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -779,6 +779,11 @@ function createUpdater(model2, middleWare) {
|
|
|
779
779
|
return updater;
|
|
780
780
|
}
|
|
781
781
|
|
|
782
|
+
// src/defaults.ts
|
|
783
|
+
function defaultSelector(i) {
|
|
784
|
+
return i();
|
|
785
|
+
}
|
|
786
|
+
|
|
782
787
|
// src/store/cache.ts
|
|
783
788
|
var cacheIdentify = {
|
|
784
789
|
field: function field(d) {
|
|
@@ -1024,31 +1029,36 @@ function extractInstance(updater, wrapper, cache, opts) {
|
|
|
1024
1029
|
}
|
|
1025
1030
|
onGet(key, value);
|
|
1026
1031
|
};
|
|
1027
|
-
var instance = updater.instance;
|
|
1028
|
-
if ((typeof instance === "undefined" ? "undefined" : _type_of(instance)) !== "object" || !instance) {
|
|
1029
|
-
throw new Error("The instance should be an object or array.");
|
|
1030
|
-
}
|
|
1031
|
-
var properties = Object.getOwnPropertyNames(instance);
|
|
1032
|
-
var proxiedInstance = createProxy(instance, {
|
|
1033
|
-
get: function get(target, p) {
|
|
1034
|
-
var value = target[p];
|
|
1035
|
-
if (typeof value === "function" && properties.indexOf(p) >= 0) {
|
|
1036
|
-
var actionMethod = wrapToActionMethod2(updater, p);
|
|
1037
|
-
Object.assign(actionMethod, value);
|
|
1038
|
-
return actionMethod;
|
|
1039
|
-
}
|
|
1040
|
-
return wrapToField2(updater, p, value);
|
|
1041
|
-
},
|
|
1042
|
-
set: function set() {
|
|
1043
|
-
return false;
|
|
1044
|
-
}
|
|
1045
|
-
});
|
|
1046
1032
|
function generateInstance() {
|
|
1047
|
-
|
|
1033
|
+
var instance = updater.instance;
|
|
1034
|
+
if ((typeof instance === "undefined" ? "undefined" : _type_of(instance)) !== "object" || !instance) {
|
|
1035
|
+
throw new Error("The instance should be an object or array.");
|
|
1036
|
+
}
|
|
1037
|
+
var properties = Object.getOwnPropertyNames(instance);
|
|
1038
|
+
return createProxy(instance, {
|
|
1039
|
+
get: function get(target, p) {
|
|
1040
|
+
var value = target[p];
|
|
1041
|
+
if (typeof value === "function" && properties.indexOf(p) >= 0) {
|
|
1042
|
+
var actionMethod = wrapToActionMethod2(updater, p);
|
|
1043
|
+
Object.assign(actionMethod, value);
|
|
1044
|
+
return actionMethod;
|
|
1045
|
+
}
|
|
1046
|
+
return wrapToField2(updater, p, value);
|
|
1047
|
+
},
|
|
1048
|
+
set: function set() {
|
|
1049
|
+
return false;
|
|
1050
|
+
}
|
|
1051
|
+
});
|
|
1048
1052
|
}
|
|
1049
|
-
|
|
1053
|
+
var proxiedInstance = generateInstance();
|
|
1054
|
+
if (wrapper == null || wrapper === defaultSelector) {
|
|
1050
1055
|
return proxiedInstance;
|
|
1051
1056
|
}
|
|
1057
|
+
if (wrapper === defaultSelector) {
|
|
1058
|
+
return cacheProperties(_object_spread_props(_object_spread({}, cache), {
|
|
1059
|
+
target: proxiedInstance
|
|
1060
|
+
}), handleGetter)();
|
|
1061
|
+
}
|
|
1052
1062
|
var wrapped = wrapper(generateInstance);
|
|
1053
1063
|
if ((typeof wrapped === "undefined" ? "undefined" : _type_of(wrapped)) === "object" && wrapped != null) {
|
|
1054
1064
|
return cacheProperties(_object_spread_props(_object_spread({}, cache), {
|
|
@@ -1206,7 +1216,7 @@ function createPrimaryKey(modelFn) {
|
|
|
1206
1216
|
var ifModelUsage = isModelUsage(modelFn);
|
|
1207
1217
|
var model2 = ifModelKey ? modelFn.source : modelFn;
|
|
1208
1218
|
var _config_wrapper;
|
|
1209
|
-
var wrapper = (_config_wrapper = config2.wrapper) !== null && _config_wrapper !== void 0 ? _config_wrapper : ifModelKey || ifModelUsage ? modelFn.wrapper : function
|
|
1219
|
+
var wrapper = (_config_wrapper = config2.wrapper) !== null && _config_wrapper !== void 0 ? _config_wrapper : ifModelKey || ifModelUsage ? modelFn.wrapper : function defaultSelector2(i) {
|
|
1210
1220
|
return i();
|
|
1211
1221
|
};
|
|
1212
1222
|
var wrapModel = function wrapModel2(state) {
|
|
@@ -1399,9 +1409,7 @@ function createStores(modelKeys) {
|
|
|
1399
1409
|
// src/model/index.ts
|
|
1400
1410
|
function configModel(config2) {
|
|
1401
1411
|
var model2 = function model3(modelFn, wrapper) {
|
|
1402
|
-
var currentSelector = wrapper !== null && wrapper !== void 0 ? wrapper :
|
|
1403
|
-
return i();
|
|
1404
|
-
};
|
|
1412
|
+
var currentSelector = wrapper !== null && wrapper !== void 0 ? wrapper : defaultSelector;
|
|
1405
1413
|
var modelWrapper = function modelWrapper2(state) {
|
|
1406
1414
|
return modelFn(state);
|
|
1407
1415
|
};
|
package/esm/defaults.js
ADDED
package/esm/model/index.js
CHANGED
|
@@ -20,11 +20,10 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
20
20
|
import { createStore, createField, createMethod } from "../store";
|
|
21
21
|
import { createKey } from "../key";
|
|
22
22
|
import { modelUsageIdentifier } from "../identifiers";
|
|
23
|
+
import { defaultSelector } from "../defaults";
|
|
23
24
|
function configModel(config) {
|
|
24
25
|
const model = function model2(modelFn, wrapper) {
|
|
25
|
-
const currentSelector = wrapper != null ? wrapper :
|
|
26
|
-
return i();
|
|
27
|
-
};
|
|
26
|
+
const currentSelector = wrapper != null ? wrapper : defaultSelector;
|
|
28
27
|
const modelWrapper = function modelWrapper2(state) {
|
|
29
28
|
return modelFn(state);
|
|
30
29
|
};
|
package/esm/store/instance.js
CHANGED
|
@@ -18,6 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
import { createProxy, shallowEqual } from "../tools";
|
|
21
|
+
import { defaultSelector } from "../defaults";
|
|
21
22
|
import { cacheIdentify, cacheProperties } from "./cache";
|
|
22
23
|
function createField(callback, deps) {
|
|
23
24
|
const currentDeps = function computeDeps() {
|
|
@@ -139,31 +140,37 @@ function extractInstance(updater, wrapper, cache, opts) {
|
|
|
139
140
|
}
|
|
140
141
|
onGet(key, value);
|
|
141
142
|
};
|
|
142
|
-
const { instance } = updater;
|
|
143
|
-
if (typeof instance !== "object" || !instance) {
|
|
144
|
-
throw new Error("The instance should be an object or array.");
|
|
145
|
-
}
|
|
146
|
-
const properties = Object.getOwnPropertyNames(instance);
|
|
147
|
-
const proxiedInstance = createProxy(instance, {
|
|
148
|
-
get(target, p) {
|
|
149
|
-
const value = target[p];
|
|
150
|
-
if (typeof value === "function" && properties.indexOf(p) >= 0) {
|
|
151
|
-
const actionMethod = wrapToActionMethod(updater, p);
|
|
152
|
-
Object.assign(actionMethod, value);
|
|
153
|
-
return actionMethod;
|
|
154
|
-
}
|
|
155
|
-
return wrapToField(updater, p, value);
|
|
156
|
-
},
|
|
157
|
-
set() {
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
143
|
function generateInstance() {
|
|
162
|
-
|
|
144
|
+
const { instance } = updater;
|
|
145
|
+
if (typeof instance !== "object" || !instance) {
|
|
146
|
+
throw new Error("The instance should be an object or array.");
|
|
147
|
+
}
|
|
148
|
+
const properties = Object.getOwnPropertyNames(instance);
|
|
149
|
+
return createProxy(instance, {
|
|
150
|
+
get(target, p) {
|
|
151
|
+
const value = target[p];
|
|
152
|
+
if (typeof value === "function" && properties.indexOf(p) >= 0) {
|
|
153
|
+
const actionMethod = wrapToActionMethod(updater, p);
|
|
154
|
+
Object.assign(actionMethod, value);
|
|
155
|
+
return actionMethod;
|
|
156
|
+
}
|
|
157
|
+
return wrapToField(updater, p, value);
|
|
158
|
+
},
|
|
159
|
+
set() {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
163
|
}
|
|
164
|
-
|
|
164
|
+
const proxiedInstance = generateInstance();
|
|
165
|
+
if (wrapper == null || wrapper === defaultSelector) {
|
|
165
166
|
return proxiedInstance;
|
|
166
167
|
}
|
|
168
|
+
if (wrapper === defaultSelector) {
|
|
169
|
+
return cacheProperties(
|
|
170
|
+
__spreadProps(__spreadValues({}, cache), { target: proxiedInstance }),
|
|
171
|
+
handleGetter
|
|
172
|
+
)();
|
|
173
|
+
}
|
|
167
174
|
const wrapped = wrapper(generateInstance);
|
|
168
175
|
if (typeof wrapped === "object" && wrapped != null) {
|
|
169
176
|
return cacheProperties(__spreadProps(__spreadValues({}, cache), { target: wrapped }), handleGetter)();
|