annil 1.5.9 → 1.5.10
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/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.d.ts +6 -0
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/computedUpdater.js +3 -3
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.js.map +1 -0
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.d.ts +1 -1
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/data-tracer.js.map +1 -0
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.js.map +1 -0
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.d.ts +1 -1
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.js +1 -1
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/getPropertiesValue.js.map +1 -0
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.d.ts +2 -0
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.js +69 -0
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/index.js.map +1 -0
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.d.ts +8 -5
- package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.js +1 -1
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/initComputed.js.map +1 -0
- package/dist/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.js.map +1 -0
- package/dist/api/DefineComponent/assignOptions/index.d.ts +49 -0
- package/dist/api/DefineComponent/{collectOptionsForComponent.js → assignOptions/index.js} +35 -23
- package/dist/api/DefineComponent/assignOptions/index.js.map +1 -0
- package/dist/api/DefineComponent/assignOptions/initStore/index.d.ts +2 -0
- package/dist/api/DefineComponent/assignOptions/initStore/index.js +12 -0
- package/dist/api/DefineComponent/assignOptions/initStore/index.js.map +1 -0
- package/dist/api/DefineComponent/index.d.ts +1 -1
- package/dist/api/DefineComponent/index.js +2 -2
- package/dist/api/DefineComponent/index.js.map +1 -1
- package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.d.ts +1 -1
- package/dist/api/RootComponent/Observers/ObserversOption.d.ts +1 -1
- package/dist/behaviors/BStore.js +1 -14
- package/dist/behaviors/BStore.js.map +1 -1
- package/dist/utils/deepClone.js.map +1 -1
- package/package.json +1 -1
- package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/computedUpdater.ts +6 -5
- package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.ts +1 -1
- package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPropertiesValue.ts +3 -4
- package/src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts +110 -0
- package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/initComputed.ts +13 -8
- package/src/api/DefineComponent/{collectOptionsForComponent.ts → assignOptions/index.ts} +108 -61
- package/src/api/DefineComponent/assignOptions/initStore/index.ts +16 -0
- package/src/api/DefineComponent/index.ts +3 -6
- package/src/api/DefineComponent/storeDataHandle/index.ts +30 -0
- package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +1 -1
- package/src/api/RootComponent/Observers/ObserversOption.ts +2 -2
- package/src/behaviors/BStore.ts +4 -22
- package/src/behaviors/BbeforeCreated.ts +1 -1
- package/src/utils/deepClone.ts +1 -2
- package/dist/api/DefineComponent/collectOptionsForComponent.d.ts +0 -31
- package/dist/api/DefineComponent/collectOptionsForComponent.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/computedUpdater.d.ts +0 -2
- package/dist/behaviors/BComputedAndWatch/computedUpdater.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/getPathsValue.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/getPropertiesValue.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/index.d.ts +0 -1
- package/dist/behaviors/BComputedAndWatch/index.js +0 -85
- package/dist/behaviors/BComputedAndWatch/index.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/initComputed.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/isEqual.js.map +0 -1
- package/dist/behaviors/BComputedAndWatch/types.d.ts +0 -24
- package/dist/behaviors/BComputedAndWatch/types.js +0 -2
- package/dist/behaviors/BComputedAndWatch/types.js.map +0 -1
- package/dist/utils/deleteProtoField.d.ts +0 -1
- package/dist/utils/deleteProtoField.js +0 -4
- package/dist/utils/deleteProtoField.js.map +0 -1
- package/src/behaviors/BComputedAndWatch/index.ts +0 -135
- package/src/behaviors/BComputedAndWatch/types.ts +0 -30
- package/src/utils/deleteProtoField.ts +0 -6
- /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/data-tracer.js +0 -0
- /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.d.ts +0 -0
- /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.js +0 -0
- /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.d.ts +0 -0
- /package/dist/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.js +0 -0
- /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/getPathsValue.ts +0 -0
- /package/src/{behaviors/BComputedAndWatch → api/DefineComponent/assignOptions/computedWatchHandle}/isEqual.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
* 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
|
|
6
6
|
|
|
7
|
+
## [1.5.10](https://github.com/missannil/annil/compare/v1.5.9...v1.5.10) (2024-01-08)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* 同一组件多次复用时 computed和watch的问题 ([e996f10](https://github.com/missannil/annil/commit/e996f10369dc5fc64225f573a9f28c3c542c7226))
|
|
13
|
+
|
|
7
14
|
## [1.5.9](https://github.com/missannil/annil/compare/v1.5.8...v1.5.9) (2024-01-06)
|
|
8
15
|
|
|
9
16
|
|
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@ import { deepProxy, unwrap } from "./data-tracer";
|
|
|
2
2
|
import { getPathsValue } from "./getPathsValue";
|
|
3
3
|
import { isEqual } from "./isEqual";
|
|
4
4
|
export function computedUpdater(isUpdated = false) {
|
|
5
|
-
for (const key in this.__computedCache__) {
|
|
6
|
-
const itemCache = this.__computedCache__[key];
|
|
5
|
+
for (const key in this.data.__computedCache__) {
|
|
6
|
+
const itemCache = this.data.__computedCache__[key];
|
|
7
7
|
let changed = false;
|
|
8
8
|
for (const dep of itemCache.dependences) {
|
|
9
9
|
const curVal = getPathsValue(this.data, dep.paths.join("."))[0];
|
|
@@ -19,7 +19,7 @@ export function computedUpdater(isUpdated = false) {
|
|
|
19
19
|
[key]: unwrap(newValue),
|
|
20
20
|
});
|
|
21
21
|
isUpdated = true;
|
|
22
|
-
this.__computedCache__[key].dependences = newDependences;
|
|
22
|
+
this.data.__computedCache__[key].dependences = newDependences;
|
|
23
23
|
return computedUpdater.call(this, isUpdated);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computedUpdater.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/computedUpdater.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAiB,SAAS,GAAG,KAAK;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAExC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAGhE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAyB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YAGvF,IAAI,CAAC,OAAO,CAAC;gBACX,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAC;YAEH,SAAS,GAAG,IAAI,CAAC;YAGjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC;YAG9D,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ComputedDependence } from "./
|
|
1
|
+
import type { ComputedDependence } from "./computedUpdater";
|
|
2
2
|
export declare function deepProxy(data: object, dependences: ComputedDependence[], basePath?: string[]): object;
|
|
3
3
|
export declare function unwrap(wrapped: any): unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/data-tracer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,WAAiC,EACjC,WAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAc,EAAE,IAAY;YAI9B,IAAI,IAAI,KAAK,eAAe;gBAAE,OAAO,MAAM,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAKzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE1B,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE5D,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAE7D,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAItC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAGvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAErF,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;YAExD,OAAO,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,GAAG,CAAC,OAAe,EAAE,IAAY;YAC/B,MAAM,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAY;IAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,GAAG,aAAa,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPathsValue.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/getPathsValue.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,SAAS,GAAc,EAAE,CAAC;IAGhC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE9B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;YAEtD,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { PropertiesConstraint } from "
|
|
1
|
+
import type { PropertiesConstraint } from "../../../RootComponent/Properties/PropertiesConstraint";
|
|
2
2
|
export declare function getPropertiesValue(propertiesOpt: PropertiesConstraint | undefined): object | undefined;
|
|
@@ -11,7 +11,7 @@ function getRequiredSingleValue(PropType) {
|
|
|
11
11
|
case Boolean:
|
|
12
12
|
return false;
|
|
13
13
|
default:
|
|
14
|
-
throw Error("properties字段类型只能为 String | Number | Array | Object | Boolean");
|
|
14
|
+
throw Error("properties字段类型只能为 String | Number | Array | Object | Boolean ");
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
function IsRequiredSingle(config) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPropertiesValue.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/getPropertiesValue.ts"],"names":[],"mappings":"AASA,SAAS,sBAAsB,CAC7B,QAAwB;IAExB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf;YAEE,MAAM,KAAK,CACT,+DAA+D,CAChE,CAAC;IACN,CAAC;AACH,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO,MAAM,YAAY,QAAQ,CAAC;AACpC,CAAC;AACD,SAAS,eAAe,CAAC,MAAuB;IAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,aAA+C;IAChF,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO;IACxC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAE7B,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAEnC,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YAEN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { computedUpdater } from "./computedUpdater";
|
|
2
|
+
import { getPathsValue } from "./getPathsValue";
|
|
3
|
+
import { getPropertiesValue } from "./getPropertiesValue";
|
|
4
|
+
import { initComputed } from "./initComputed";
|
|
5
|
+
import { isEqual } from "./isEqual";
|
|
6
|
+
import { deepClone } from "../../../../utils/deepClone";
|
|
7
|
+
import { isEmptyObject } from "../../../../utils/isEmptyObject";
|
|
8
|
+
function initWatchOldValue(data, watchConfig) {
|
|
9
|
+
const watchOldValue = {};
|
|
10
|
+
for (const key in watchConfig) {
|
|
11
|
+
watchOldValue[key] = deepClone(getPathsValue(data, key));
|
|
12
|
+
}
|
|
13
|
+
return watchOldValue;
|
|
14
|
+
}
|
|
15
|
+
export function computedWatchHandle(options) {
|
|
16
|
+
const computedConfig = options.computed;
|
|
17
|
+
const rawPropertiesValue = getPropertiesValue(options.properties);
|
|
18
|
+
if (computedConfig && !isEmptyObject(computedConfig)) {
|
|
19
|
+
const __computedInitCache__ = initComputed(options, computedConfig, Object.assign(Object.assign({}, options.data), rawPropertiesValue));
|
|
20
|
+
options.data.__computedCache__ = __computedInitCache__;
|
|
21
|
+
options.data.__computedStatus__ = "待更新";
|
|
22
|
+
options.methods.__computedUpdater__ = computedUpdater;
|
|
23
|
+
}
|
|
24
|
+
const observersConfig = options.observers;
|
|
25
|
+
const originalFunc = observersConfig["**"];
|
|
26
|
+
observersConfig["**"] = function () {
|
|
27
|
+
const computedStatus = this.data.__computedStatus__;
|
|
28
|
+
switch (computedStatus) {
|
|
29
|
+
case "待更新":
|
|
30
|
+
{
|
|
31
|
+
const isUpdated = this.__computedUpdater__();
|
|
32
|
+
if (isUpdated) {
|
|
33
|
+
this.data.__computedStatus__ = "更新完毕";
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
originalFunc && originalFunc.call(this);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
case "更新完毕":
|
|
41
|
+
{
|
|
42
|
+
this.data.__computedStatus__ = "待更新";
|
|
43
|
+
originalFunc && originalFunc.call(this);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
originalFunc && originalFunc.call(this);
|
|
48
|
+
};
|
|
49
|
+
const watchConfig = options.watch;
|
|
50
|
+
if (watchConfig && !isEmptyObject(watchConfig)) {
|
|
51
|
+
const data = options.data;
|
|
52
|
+
data.__watchOldValue__ = initWatchOldValue(Object.assign(Object.assign({}, data), rawPropertiesValue), watchConfig);
|
|
53
|
+
const observersConfig = options.observers;
|
|
54
|
+
for (const key in watchConfig) {
|
|
55
|
+
const watchHadle = watchConfig[key];
|
|
56
|
+
const originObserversHandle = observersConfig[key];
|
|
57
|
+
observersConfig[key] = function (...newValue) {
|
|
58
|
+
originObserversHandle && originObserversHandle.call(this, ...newValue);
|
|
59
|
+
const watchOldValue = this.data.__watchOldValue__;
|
|
60
|
+
const oldValue = watchOldValue[key];
|
|
61
|
+
if (isEqual(newValue, oldValue))
|
|
62
|
+
return;
|
|
63
|
+
watchOldValue[key] = deepClone(newValue);
|
|
64
|
+
watchHadle.call(this, ...newValue, ...oldValue);
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { Func } from "hry-types/src/Misc/Func";
|
|
2
|
-
import type { FinalOptionsOfComponent } from "
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import type { FinalOptionsOfComponent } from "..";
|
|
3
|
+
import type { ComputedDependence } from "./computedUpdater";
|
|
4
|
+
type ItemCache = {
|
|
5
|
+
dependences: ComputedDependence[];
|
|
6
|
+
method: Func;
|
|
7
|
+
value: unknown;
|
|
7
8
|
};
|
|
9
|
+
export type ComputedCache = Record<string, ItemCache>;
|
|
8
10
|
export declare function getItemCache(initAllData: object, computedKeys: string[], computedFunc: Func): false | ItemCache;
|
|
9
11
|
export declare function initComputed(options: FinalOptionsOfComponent, computedConfig: Record<string, Func>, initAllData: object, uninitedkeys?: string[], computedCache?: ComputedCache): ComputedCache;
|
|
12
|
+
export {};
|
|
@@ -48,7 +48,7 @@ export function initComputed(options, computedConfig, initAllData, uninitedkeys
|
|
|
48
48
|
uninitedkeys.push(key);
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
|
-
const dataOpt = options.data
|
|
51
|
+
const dataOpt = options.data;
|
|
52
52
|
dataOpt[key] = itemCache.value;
|
|
53
53
|
initAllData[key] = itemCache.value;
|
|
54
54
|
computedCache[key] = itemCache;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initComputed.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/initComputed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isEqual.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/computedWatchHandle/isEqual.ts"],"names":[],"mappings":"AAEA,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAGD,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAGD,SAAS,UAAU,CAAC,CAAW,EAAE,CAAW;IAE1C,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAGD,SAAS,UAAU,CAAC,CAAO,EAAE,CAAO;IAClC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAGD,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;AACtD,CAAC;AAQD,MAAM,UAAU,OAAO,CAAC,CAAU,EAAE,CAAU;IAE5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/E,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,CAAC,EAAE,CAAa,CAAC,CAAC;IACtC,CAAC;IAGD,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,CAAC,EAAE,CAAS,CAAC,CAAC;IAClC,CAAC;IAGD,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC;IACvC,CAAC;IAGD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAExB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Func } from "hry-types/src/Misc/_api";
|
|
2
|
+
import type { WMComponent } from "../../../types/OfficialTypeAlias";
|
|
3
|
+
import type { ComputedConstraint } from "../../RootComponent/Computed/ComputedConstraint";
|
|
4
|
+
import type { DataConstraint } from "../../RootComponent/Data/DataConstraint";
|
|
5
|
+
import type { ComponentInstance, PageInstance } from "../../RootComponent/Instance/RootComponentInstance";
|
|
6
|
+
import type { LifetimesConstraint } from "../../RootComponent/Lifetimes/LifetimesConstraint";
|
|
7
|
+
import type { MethodsConstraint } from "../../RootComponent/Methods/MethodsConstraint";
|
|
8
|
+
import type { PageLifetimesOption } from "../../RootComponent/PageLifetimes/PageLifetimesOption";
|
|
9
|
+
import type { PropertiesConstraint } from "../../RootComponent/Properties/PropertiesConstraint";
|
|
10
|
+
import type { StoreConstraint } from "../../RootComponent/Store/StoreConstraint";
|
|
11
|
+
import type { DefineComponentOption } from "..";
|
|
12
|
+
import type { ComputedCache } from "./computedWatchHandle/initComputed";
|
|
13
|
+
type InstanceInnerFields = {
|
|
14
|
+
data: OptionsInnerFields["data"];
|
|
15
|
+
disposer: Record<string, Func>;
|
|
16
|
+
} & OptionsInnerFields["methods"];
|
|
17
|
+
export type Instance = (ComponentInstance | PageInstance) & InstanceInnerFields;
|
|
18
|
+
export type FuncOptions = Record<"pageLifetimes" | "lifetimes" | "watch" | "observers", Record<string, Func[]>>;
|
|
19
|
+
export type WatchOldValue = Record<string, unknown[]>;
|
|
20
|
+
export type OptionsInnerFields = {
|
|
21
|
+
data: {
|
|
22
|
+
__computedStatus__?: "待更新" | "更新完毕";
|
|
23
|
+
__computedCache__?: ComputedCache;
|
|
24
|
+
__storeConfig__?: StoreConstraint;
|
|
25
|
+
__watchOldValue__?: WatchOldValue;
|
|
26
|
+
};
|
|
27
|
+
methods: {
|
|
28
|
+
disposer?: Record<string, Func>;
|
|
29
|
+
__computedUpdater__?: Func;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export type FinalOptionsOfComponent = {
|
|
33
|
+
data: DataConstraint & OptionsInnerFields["data"];
|
|
34
|
+
observers: Record<string, Func>;
|
|
35
|
+
behaviors: string[];
|
|
36
|
+
methods: MethodsConstraint & OptionsInnerFields["methods"];
|
|
37
|
+
externalClasses: string[];
|
|
38
|
+
pageLifetimes: PageLifetimesOption<false, object>["pageLifetimes"] & {};
|
|
39
|
+
isPage?: boolean;
|
|
40
|
+
options?: WMComponent.Options;
|
|
41
|
+
properties?: PropertiesConstraint;
|
|
42
|
+
store?: StoreConstraint;
|
|
43
|
+
computed?: ComputedConstraint;
|
|
44
|
+
watch?: Record<string, Func>;
|
|
45
|
+
lifetimes?: LifetimesConstraint;
|
|
46
|
+
};
|
|
47
|
+
export declare function isPageCheck(isPage: boolean | undefined): (this: Instance) => void;
|
|
48
|
+
export declare function assignOptions(defineComponentOption: DefineComponentOption): FinalOptionsOfComponent;
|
|
49
|
+
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { BBeforeCreate } from "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { BBeforeCreate } from "../../../behaviors/BbeforeCreated";
|
|
2
|
+
import { deepClone } from "../../../utils/deepClone";
|
|
3
|
+
import { INNERMARKER } from "../../../utils/InnerMarker";
|
|
4
|
+
import { isEmptyObject } from "../../../utils/isEmptyObject";
|
|
5
|
+
import { instanceConfig } from "../../InstanceInject/instanceConfig";
|
|
6
|
+
import { BStore } from "../../../behaviors/BStore";
|
|
7
|
+
import { computedWatchHandle } from "./computedWatchHandle";
|
|
8
|
+
import { initStore } from "./initStore";
|
|
8
9
|
export function isPageCheck(isPage) {
|
|
9
10
|
return function () {
|
|
10
11
|
const route = this.route;
|
|
@@ -62,7 +63,7 @@ function _funcOptionsHandle(config, configList) {
|
|
|
62
63
|
};
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
function
|
|
66
|
+
function assignFuncOptions(finalOptionsForComponent, isPage, funcOptions) {
|
|
66
67
|
if (isPage) {
|
|
67
68
|
!(isEmptyObject(funcOptions.pageLifetimes))
|
|
68
69
|
&& _funcOptionsHandle(finalOptionsForComponent.methods, funcOptions.pageLifetimes);
|
|
@@ -76,10 +77,12 @@ function funcOptionsHandle(finalOptionsForComponent, isPage, funcOptions) {
|
|
|
76
77
|
}
|
|
77
78
|
function funcFieldsCollect(options, funcOptions) {
|
|
78
79
|
var _a;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
let key;
|
|
81
|
+
for (key in funcOptions) {
|
|
82
|
+
const optionsKeyConfig = options[key];
|
|
83
|
+
if (optionsKeyConfig) {
|
|
84
|
+
for (const _key in optionsKeyConfig) {
|
|
85
|
+
((_a = funcOptions[key])[_key] || (_a[_key] = [])).push(optionsKeyConfig[_key]);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
}
|
|
@@ -101,7 +104,7 @@ function otherFieldsHandle(finalOptions, rootComponentOptions) {
|
|
|
101
104
|
function eventsHandle(methods, eventsConfig) {
|
|
102
105
|
Object.assign(methods, eventsConfig);
|
|
103
106
|
}
|
|
104
|
-
function
|
|
107
|
+
function assignSubComponentsOption(componentOptions, subComponents, funcOptions) {
|
|
105
108
|
subComponents.forEach((subOption) => {
|
|
106
109
|
subOption.events && eventsHandle(componentOptions.methods, subOption.events);
|
|
107
110
|
funcFieldsCollect(subOption, funcOptions);
|
|
@@ -126,7 +129,7 @@ function customEventsHandle(methods, customEventsConfig) {
|
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
}
|
|
129
|
-
function
|
|
132
|
+
function assignRootComponentOption(finalOptions, funcOptions, rootComponentOptions) {
|
|
130
133
|
rootComponentOptions.customEvents && customEventsHandle(finalOptions.methods, rootComponentOptions.customEvents);
|
|
131
134
|
rootComponentOptions.events && eventsHandle(finalOptions.methods, rootComponentOptions.events);
|
|
132
135
|
funcFieldsCollect(rootComponentOptions, funcOptions);
|
|
@@ -156,14 +159,14 @@ function merge(target, source) {
|
|
|
156
159
|
}
|
|
157
160
|
return target;
|
|
158
161
|
}
|
|
159
|
-
export function
|
|
162
|
+
export function assignOptions(defineComponentOption) {
|
|
160
163
|
const rootComponentOption = defineComponentOption.rootComponent;
|
|
161
|
-
const
|
|
164
|
+
const subComponentsOption = defineComponentOption.subComponents;
|
|
162
165
|
const finalOptionsForComponent = merge(Object.assign({}, deepClone(instanceConfig.injectInfo)), {
|
|
163
166
|
observers: {},
|
|
164
167
|
data: {},
|
|
165
168
|
methods: {},
|
|
166
|
-
behaviors: [BStore
|
|
169
|
+
behaviors: [BStore],
|
|
167
170
|
externalClasses: [],
|
|
168
171
|
pageLifetimes: {},
|
|
169
172
|
});
|
|
@@ -171,22 +174,31 @@ export function collectOptionsForComponent(defineComponentOption) {
|
|
|
171
174
|
pageLifetimes: {},
|
|
172
175
|
lifetimes: {},
|
|
173
176
|
watch: {},
|
|
177
|
+
observers: {},
|
|
174
178
|
};
|
|
175
179
|
if (rootComponentOption && !isEmptyObject(rootComponentOption)) {
|
|
176
|
-
|
|
180
|
+
assignRootComponentOption(finalOptionsForComponent, funcOptions, rootComponentOption);
|
|
177
181
|
}
|
|
178
|
-
if (
|
|
179
|
-
|
|
182
|
+
if (subComponentsOption && !isEmptyObject(subComponentsOption)) {
|
|
183
|
+
assignSubComponentsOption(finalOptionsForComponent, subComponentsOption, funcOptions);
|
|
180
184
|
}
|
|
181
|
-
|
|
182
|
-
InternalFieldProtection(finalOptionsForComponent.methods, ["disposer"]);
|
|
185
|
+
assignFuncOptions(finalOptionsForComponent, rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage, funcOptions);
|
|
186
|
+
InternalFieldProtection(finalOptionsForComponent.methods, ["disposer", "__computedUpdater__"]);
|
|
187
|
+
InternalFieldProtection(finalOptionsForComponent.data, [
|
|
188
|
+
"__computedStatus__",
|
|
189
|
+
"__computedCache__",
|
|
190
|
+
"__storeConfig__",
|
|
191
|
+
"__watchOldValue__",
|
|
192
|
+
]);
|
|
183
193
|
finalOptionsForComponent.isPage
|
|
184
194
|
&& hijack(finalOptionsForComponent.pageLifetimes, "load", [loadReceivedDataHandle]);
|
|
185
195
|
hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle]);
|
|
186
196
|
hijack(finalOptionsForComponent.lifetimes, "attached", [isPageCheck(rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage)]);
|
|
187
197
|
finalOptionsForComponent.isPage
|
|
188
198
|
&& finalOptionsForComponent.options && Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
|
|
199
|
+
initStore(finalOptionsForComponent);
|
|
200
|
+
computedWatchHandle(finalOptionsForComponent);
|
|
189
201
|
finalOptionsForComponent.behaviors.push(BBeforeCreate);
|
|
190
202
|
return finalOptionsForComponent;
|
|
191
203
|
}
|
|
192
|
-
//# sourceMappingURL=
|
|
204
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/DefineComponent/assignOptions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function initStore(finalOptionsForComponent) {
|
|
2
|
+
const storeConfig = finalOptionsForComponent.store;
|
|
3
|
+
if (storeConfig) {
|
|
4
|
+
const { toJS } = require("mobx");
|
|
5
|
+
for (const key in storeConfig) {
|
|
6
|
+
finalOptionsForComponent.data[key] = toJS(storeConfig[key]());
|
|
7
|
+
}
|
|
8
|
+
finalOptionsForComponent.data.__storeConfig__ = storeConfig;
|
|
9
|
+
delete finalOptionsForComponent.store;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/assignOptions/initStore/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,wBAAiD;IACzE,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAGhE,CAAC;QACD,wBAAwB,CAAC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QAE5D,OAAO,wBAAwB,CAAC,KAAK,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -7,7 +7,7 @@ import type { CreatePageDoc } from "./ReturnType/CreatePageDoc";
|
|
|
7
7
|
import type { RootComponentOption } from "./RootComponent/RootComponentOption";
|
|
8
8
|
import type { SubComponentsOption } from "./SubComponents/SubComponentsOption";
|
|
9
9
|
import type { RootComponentTrueOptions } from "../RootComponent";
|
|
10
|
-
type Path = `/${string}`;
|
|
10
|
+
export type Path = `/${string}`;
|
|
11
11
|
type RootOptions<TRootComponentDoc extends RootComponentDoc, TSubComponentTuple extends SubComponentDoc[], TName extends string, TPath extends Path> = NameOrPathOption<TName, TPath, TRootComponentDoc["isPage"] & {}> & RootComponentOption<TRootComponentDoc> & SubComponentsOption<TSubComponentTuple>;
|
|
12
12
|
interface DefineComponentConstructor {
|
|
13
13
|
<TRootComponentDoc extends RootComponentDoc = {}, TSubComponentTuple extends SubComponentDoc[] = [], TName extends string = "", TPath extends Path = "/">(options: RootOptions<TRootComponentDoc, TSubComponentTuple, TName, TPath>): IfExtends<"", TName, CreatePageDoc<TRootComponentDoc, TPath>, CreateComponentDoc<TRootComponentDoc, TName, TSubComponentTuple>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assignOptions } from "./assignOptions";
|
|
2
2
|
export const DefineComponent = function (options) {
|
|
3
|
-
Component(
|
|
3
|
+
Component(assignOptions(options));
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0ChD,MAAM,CAAC,MAAM,eAAe,GAA+B,UAAS,OAAO;IACzE,SAAS,CACP,aAAa,CAAC,OAAgC,CAAQ,CACvD,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersection";
|
|
2
2
|
import type { WMCompLifetimes } from "../../../types/OfficialTypeAlias";
|
|
3
|
-
import type { FinalOptionsOfComponent } from "../../DefineComponent/
|
|
3
|
+
import type { FinalOptionsOfComponent } from "../../DefineComponent/assignOptions";
|
|
4
4
|
export type LifetimesConstraint = ComputeIntersection<WMCompLifetimes["lifetimes"] & {
|
|
5
5
|
beforeCreate?: (this: void, options: FinalOptionsOfComponent) => void;
|
|
6
6
|
}>;
|
|
@@ -12,7 +12,7 @@ type AddFieldsOfObject<TWatchData extends object, _WatchKeys extends keyof TWatc
|
|
|
12
12
|
};
|
|
13
13
|
export type ObserversOption<TWatchData extends object, _WatchKeys extends keyof TWatchData = keyof TWatchData> = {
|
|
14
14
|
observers?: IfExtends<{}, TWatchData, EmptyObject, NoInfer<{
|
|
15
|
-
[k in _WatchKeys]?: (newValue: ReadonlyDeep<TWatchData[k]>) => void;
|
|
15
|
+
[k in _WatchKeys | "**"]?: (newValue: k extends keyof TWatchData ? ReadonlyDeep<TWatchData[k]> : unknown) => void;
|
|
16
16
|
} & {
|
|
17
17
|
[k in _WatchKeys as never]: unknown;
|
|
18
18
|
} & AddFieldsOfObject<TWatchData, _WatchKeys>>>;
|
package/dist/behaviors/BStore.js
CHANGED
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import { deleteProtoField } from "../utils/deleteProtoField";
|
|
2
1
|
export const BStore = Behavior({
|
|
3
|
-
definitionFilter(options) {
|
|
4
|
-
const storeConfig = options.store;
|
|
5
|
-
if (!storeConfig)
|
|
6
|
-
return;
|
|
7
|
-
const { toJS } = require("mobx");
|
|
8
|
-
for (const key in storeConfig) {
|
|
9
|
-
options.data[key] = toJS(storeConfig[key]());
|
|
10
|
-
options.methods.__storeConfig__ = () => storeConfig;
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
2
|
lifetimes: {
|
|
14
3
|
created() {
|
|
15
|
-
|
|
16
|
-
const storeConfig = (_a = this.__storeConfig__) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
4
|
+
const storeConfig = this.data.__storeConfig__;
|
|
17
5
|
if (!storeConfig)
|
|
18
6
|
return;
|
|
19
|
-
deleteProtoField(this, "__storeConfig__");
|
|
20
7
|
const { comparer, reaction, toJS } = require("mobx");
|
|
21
8
|
this.disposer = {};
|
|
22
9
|
for (const key in storeConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BStore.js","sourceRoot":"","sources":["../../src/behaviors/BStore.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"BStore.js","sourceRoot":"","sources":["../../src/behaviors/BStore.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE;QACT,OAAO;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,IAAI,CAAC,WAAW;gBAAE,OAAO;YAEzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC;YAEpE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAE9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAC3B,WAAW,CAAC,GAAG,CAAC,EAChB,CAAC,KAAc,EAAE,EAAE;oBAEjB,IAAI,CAAC,OAAO,CAAC;wBACX,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;qBACnB,CAAC,CAAC;gBACL,CAAC,EACD;oBACE,MAAM,EAAE,QAAQ,CAAC,UAAU;iBAC5B,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;YAEN,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import type { Instance } from "..";
|
|
2
|
+
|
|
1
3
|
import { deepProxy, unwrap } from "./data-tracer";
|
|
2
4
|
import { getPathsValue } from "./getPathsValue";
|
|
3
5
|
|
|
4
|
-
import type { ComputedDependence } from "./initComputed";
|
|
5
6
|
import { isEqual } from "./isEqual";
|
|
6
|
-
|
|
7
|
+
export type ComputedDependence = { paths: string[]; val: unknown };
|
|
7
8
|
|
|
8
9
|
export function computedUpdater(this: Instance, isUpdated = false): boolean {
|
|
9
|
-
for (const key in this.__computedCache__) {
|
|
10
|
-
const itemCache = this.__computedCache__[key];
|
|
10
|
+
for (const key in this.data.__computedCache__) {
|
|
11
|
+
const itemCache = this.data.__computedCache__[key];
|
|
11
12
|
let changed = false;
|
|
12
13
|
for (const dep of itemCache.dependences) {
|
|
13
14
|
// getPathsValue返回的是数组
|
|
@@ -32,7 +33,7 @@ export function computedUpdater(this: Instance, isUpdated = false): boolean {
|
|
|
32
33
|
isUpdated = true;
|
|
33
34
|
|
|
34
35
|
// 更新依赖
|
|
35
|
-
this.__computedCache__[key].dependences = newDependences;
|
|
36
|
+
this.data.__computedCache__[key].dependences = newDependences;
|
|
36
37
|
|
|
37
38
|
// 有一个计算属性更新就重新更新所有计算互相,避免后置依赖导致前置依赖错误
|
|
38
39
|
return computedUpdater.call(this, isUpdated);
|
|
@@ -3,11 +3,10 @@ import type {
|
|
|
3
3
|
PropertiesTypes,
|
|
4
4
|
RequiredSingle,
|
|
5
5
|
RequiredUnion,
|
|
6
|
-
} from "
|
|
6
|
+
} from "../../../RootComponent/Properties/PropertiesConstraint";
|
|
7
7
|
|
|
8
8
|
type PropertiesDefaultValue = "" | 0 | [] | null | false;
|
|
9
9
|
|
|
10
|
-
/* istanbul ignore next */
|
|
11
10
|
function getRequiredSingleValue(
|
|
12
11
|
PropType: RequiredSingle,
|
|
13
12
|
): PropertiesDefaultValue {
|
|
@@ -25,7 +24,7 @@ function getRequiredSingleValue(
|
|
|
25
24
|
default:
|
|
26
25
|
/* istanbul ignore next */
|
|
27
26
|
throw Error(
|
|
28
|
-
"properties字段类型只能为 String | Number | Array | Object | Boolean",
|
|
27
|
+
"properties字段类型只能为 String | Number | Array | Object | Boolean ",
|
|
29
28
|
);
|
|
30
29
|
}
|
|
31
30
|
}
|
|
@@ -40,7 +39,7 @@ export function getPropertiesValue(propertiesOpt: PropertiesConstraint | undefin
|
|
|
40
39
|
const result = {};
|
|
41
40
|
for (const key in propertiesOpt) {
|
|
42
41
|
const config = propertiesOpt[key];
|
|
43
|
-
|
|
42
|
+
|
|
44
43
|
if (IsRequiredSingle(config)) {
|
|
45
44
|
// @ts-ignore 隐式索引
|
|
46
45
|
result[key] = getRequiredSingleValue(config);
|