annil 1.2.2-dev.202312100 → 1.3.0
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 +14 -0
- package/dist/api/DefineComponent/collectOptionsForComponent.d.ts +11 -6
- package/dist/api/DefineComponent/collectOptionsForComponent.js +30 -35
- package/dist/api/DefineComponent/collectOptionsForComponent.js.map +1 -1
- package/dist/api/DefineComponent/index.js.map +1 -1
- package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.d.ts +1 -1
- package/dist/api/RootComponent/index.js +1 -1
- package/dist/api/RootComponent/index.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/computedUpdater.js +2 -11
- package/dist/behaviors/BComputedAndWatch/computedUpdater.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/getPathsValue.d.ts +1 -2
- package/dist/behaviors/BComputedAndWatch/getPathsValue.js +14 -9
- package/dist/behaviors/BComputedAndWatch/getPathsValue.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/getPropertiesValue.d.ts +2 -0
- package/dist/behaviors/BComputedAndWatch/getPropertiesValue.js +41 -0
- package/dist/behaviors/BComputedAndWatch/getPropertiesValue.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/index.js +39 -42
- package/dist/behaviors/BComputedAndWatch/index.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/initComputed.d.ts +4 -8
- package/dist/behaviors/BComputedAndWatch/initComputed.js +16 -40
- package/dist/behaviors/BComputedAndWatch/initComputed.js.map +1 -1
- package/dist/behaviors/BComputedAndWatch/types.d.ts +9 -6
- package/dist/behaviors/BStore.js +1 -4
- package/dist/behaviors/BStore.js.map +1 -1
- package/dist/behaviors/BbeforeCreated.js.map +1 -1
- package/dist/utils/InnerMarker.js.map +1 -1
- package/dist/utils/isEmptyObject.d.ts +1 -1
- package/dist/utils/isEmptyObject.js.map +1 -1
- package/package.json +1 -1
- package/src/api/DefineComponent/collectOptionsForComponent.ts +49 -58
- package/src/api/DefineComponent/index.ts +1 -1
- package/src/api/RootComponent/PageLifetimes/PageLifetimesOption.ts +1 -1
- package/src/api/RootComponent/Watch/test/WatchProperties.test.ts +1 -1
- package/src/api/RootComponent/index.ts +1 -1
- package/src/behaviors/BComputedAndWatch/computedUpdater.ts +3 -20
- package/src/behaviors/BComputedAndWatch/data-tracer.ts +2 -0
- package/src/behaviors/BComputedAndWatch/getPathsValue.ts +24 -10
- package/src/behaviors/BComputedAndWatch/getPropertiesValue.ts +54 -0
- package/src/behaviors/BComputedAndWatch/index.ts +58 -63
- package/src/behaviors/BComputedAndWatch/initComputed.ts +35 -90
- package/src/behaviors/BComputedAndWatch/types.ts +14 -12
- package/src/behaviors/BStore.ts +3 -7
- package/src/behaviors/BbeforeCreated.ts +5 -2
- package/src/utils/InnerMarker.ts +1 -2
- package/src/utils/isEmptyObject.ts +1 -1
- package/dist/behaviors/BComputedAndWatch/IsPage.d.ts +0 -2
- package/dist/behaviors/BComputedAndWatch/IsPage.js +0 -4
- package/dist/behaviors/BComputedAndWatch/IsPage.js.map +0 -1
- package/src/behaviors/BComputedAndWatch/IsPage.ts +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
* 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
|
|
6
6
|
|
|
7
|
+
## [1.3.0](https://github.com/missannil/annil/compare/v1.3.0-dev.202312100...v1.3.0) (2023-12-14)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* watch支持配置单个字段监控多个数据,但没有类型提示 计算属性初始化改为beforeCreated ([cbf50e8](https://github.com/missannil/annil/commit/cbf50e8234d65abb420e76057229fbe738b2ad93))
|
|
13
|
+
|
|
14
|
+
## [1.3.0-dev.202312100](https://github.com/missannil/annil/compare/v1.2.2-dev.202312100...v1.3.0-dev.202312100) (2023-12-11)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* watch支持配置单个字段监控多个数据,但没有类型提示 ([37db28a](https://github.com/missannil/annil/commit/37db28a87a7f3af145a7c141e05d2a3b35e6bcb7))
|
|
20
|
+
|
|
7
21
|
## [1.2.2-dev.202312100](https://github.com/missannil/annil/compare/v1.2.1...v1.2.2-dev.202312100) (2023-12-10)
|
|
8
22
|
|
|
9
23
|
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import type { Func } from "hry-types/src/Misc/_api";
|
|
2
|
+
import type { ComputedCache } from "../../behaviors/BComputedAndWatch/types";
|
|
2
3
|
import type { WMComponent } from "../../types/OfficialTypeAlias";
|
|
3
4
|
import type { ComputedConstraint } from "../RootComponent/Computed/ComputedConstraint";
|
|
4
5
|
import type { DataConstraint } from "../RootComponent/Data/DataConstraint";
|
|
5
6
|
import type { LifetimesConstraint } from "../RootComponent/Lifetimes/LifetimesConstraint";
|
|
6
7
|
import type { MethodsConstraint } from "../RootComponent/Methods/MethodsConstraint";
|
|
7
8
|
import type { PageLifetimesOption } from "../RootComponent/PageLifetimes/PageLifetimesOption";
|
|
9
|
+
import type { PropertiesConstraint } from "../RootComponent/Properties/PropertiesConstraint";
|
|
8
10
|
import type { StoreConstraint } from "../RootComponent/Store/StoreConstraint";
|
|
9
11
|
import type { DefineComponentOption } from ".";
|
|
10
12
|
export type FuncOptions = Record<"pageLifetimes" | "lifetimes" | "watch", Record<string, Func[]>>;
|
|
11
13
|
export type FinalOptionsOfComponent = {
|
|
14
|
+
data: DataConstraint;
|
|
15
|
+
observers: Record<string, Func>;
|
|
16
|
+
behaviors: string[];
|
|
17
|
+
methods: MethodsConstraint & {
|
|
18
|
+
__computedInitCache__?: () => ComputedCache;
|
|
19
|
+
};
|
|
12
20
|
isPage?: boolean;
|
|
13
21
|
options?: WMComponent.Options;
|
|
14
|
-
properties?:
|
|
15
|
-
data?: DataConstraint;
|
|
22
|
+
properties?: PropertiesConstraint;
|
|
16
23
|
store?: StoreConstraint;
|
|
17
24
|
computed?: ComputedConstraint;
|
|
18
|
-
observers?: Record<string, Func>;
|
|
19
|
-
behaviors?: string[];
|
|
20
|
-
methods?: MethodsConstraint;
|
|
21
25
|
watch?: Record<string, Func>;
|
|
22
26
|
lifetimes?: LifetimesConstraint;
|
|
23
|
-
|
|
27
|
+
pageLifetimes?: PageLifetimesOption<false, object>["pageLifetimes"];
|
|
28
|
+
};
|
|
24
29
|
export declare function collectOptionsForComponent(defineComponentOption: DefineComponentOption): FinalOptionsOfComponent;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BBeforeCreate } from "../../behaviors/BbeforeCreated";
|
|
2
2
|
import { BComputedAndWatch } from "../../behaviors/BComputedAndWatch";
|
|
3
|
-
import { initComputed } from "../../behaviors/BComputedAndWatch/initComputed";
|
|
4
3
|
import { BStore } from "../../behaviors/BStore";
|
|
5
4
|
import { INNERMARKER } from "../../utils/InnerMarker";
|
|
6
5
|
import { isEmptyObject } from "../../utils/isEmptyObject";
|
|
@@ -19,7 +18,7 @@ function onLoadReceivedDataHandle(option) {
|
|
|
19
18
|
}
|
|
20
19
|
function loadReceivedDataHandle(option) {
|
|
21
20
|
const innerData = option[INNERMARKER.url];
|
|
22
|
-
if (innerData === undefined
|
|
21
|
+
if (innerData === undefined)
|
|
23
22
|
return;
|
|
24
23
|
const decodeOption = JSON.parse(decodeURIComponent(innerData));
|
|
25
24
|
for (const key in decodeOption) {
|
|
@@ -46,23 +45,24 @@ function InternalFieldProtection(config, keys) {
|
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
function
|
|
48
|
+
function _funcOptionsHandle(config, configList) {
|
|
50
49
|
for (const key in configList) {
|
|
51
|
-
|
|
50
|
+
config[key] = function (...args) {
|
|
52
51
|
configList[key].forEach(ele => ele.call(this, ...args));
|
|
53
52
|
};
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
|
-
function
|
|
55
|
+
function funcOptionsHandle(finalOptionsForComponent, isPage, funcOptions) {
|
|
57
56
|
if (isPage) {
|
|
58
|
-
|
|
57
|
+
!(isEmptyObject(funcOptions.pageLifetimes))
|
|
58
|
+
&& _funcOptionsHandle(finalOptionsForComponent.methods, funcOptions.pageLifetimes);
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
|
-
funcOptions.pageLifetimes
|
|
62
|
-
&&
|
|
61
|
+
!(isEmptyObject(funcOptions.pageLifetimes))
|
|
62
|
+
&& _funcOptionsHandle(finalOptionsForComponent.pageLifetimes || (finalOptionsForComponent.pageLifetimes = {}), funcOptions.pageLifetimes);
|
|
63
63
|
}
|
|
64
|
-
funcOptions.lifetimes &&
|
|
65
|
-
funcOptions.watch &&
|
|
64
|
+
funcOptions.lifetimes && _funcOptionsHandle(finalOptionsForComponent.lifetimes || (finalOptionsForComponent.lifetimes = {}), funcOptions.lifetimes);
|
|
65
|
+
funcOptions.watch && _funcOptionsHandle(finalOptionsForComponent.watch || (finalOptionsForComponent.watch = {}), funcOptions.watch);
|
|
66
66
|
}
|
|
67
67
|
function funcFieldsCollect(options, funcOptions) {
|
|
68
68
|
var _a;
|
|
@@ -72,27 +72,25 @@ function funcFieldsCollect(options, funcOptions) {
|
|
|
72
72
|
((_a = funcOptions[key])[_key] || (_a[_key] = [])).push(options[key][_key]);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
Reflect.deleteProperty(options, key);
|
|
76
75
|
}
|
|
77
76
|
}
|
|
78
77
|
function otherFieldsHandle(finalOptions, rootComponentOptions) {
|
|
79
78
|
for (const key in rootComponentOptions) {
|
|
80
79
|
const config = rootComponentOptions[key];
|
|
81
|
-
if (
|
|
82
|
-
|
|
80
|
+
if (key === "behaviors") {
|
|
81
|
+
finalOptions[key].push(...config);
|
|
83
82
|
}
|
|
84
83
|
else {
|
|
85
84
|
Object.assign(finalOptions[key] || (finalOptions[key] = {}), config);
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
|
-
function eventsHandle(
|
|
90
|
-
|
|
91
|
-
Object.assign(componentOptions.methods, eventsConfig);
|
|
88
|
+
function eventsHandle(methods, eventsConfig) {
|
|
89
|
+
Object.assign(methods, eventsConfig);
|
|
92
90
|
}
|
|
93
91
|
function subComponentsHandle(componentOptions, subComponents, funcOptions) {
|
|
94
92
|
subComponents.forEach((subOption) => {
|
|
95
|
-
subOption.events && eventsHandle(componentOptions, subOption.events);
|
|
93
|
+
subOption.events && eventsHandle(componentOptions.methods, subOption.events);
|
|
96
94
|
funcFieldsCollect(subOption, funcOptions);
|
|
97
95
|
otherFieldsHandle(componentOptions, subOption);
|
|
98
96
|
});
|
|
@@ -100,32 +98,28 @@ function subComponentsHandle(componentOptions, subComponents, funcOptions) {
|
|
|
100
98
|
function IsFullCustomEvents(customEventOptions) {
|
|
101
99
|
return Object.prototype.toString.call(customEventOptions) === "[object Object]";
|
|
102
100
|
}
|
|
103
|
-
function customEventsHandle(
|
|
104
|
-
componentOptions.methods || (componentOptions.methods = {});
|
|
101
|
+
function customEventsHandle(methods, customEventsConfig) {
|
|
105
102
|
for (const key in customEventsConfig) {
|
|
106
103
|
const customEventOptions = customEventsConfig[key];
|
|
107
104
|
if (IsFullCustomEvents(customEventOptions)) {
|
|
108
|
-
|
|
105
|
+
methods[key] = function (detail) {
|
|
109
106
|
this.triggerEvent(key, detail, customEventOptions.options);
|
|
110
107
|
};
|
|
111
108
|
}
|
|
112
109
|
else {
|
|
113
|
-
|
|
110
|
+
methods[key] = function (detail) {
|
|
114
111
|
this.triggerEvent(key, detail);
|
|
115
112
|
};
|
|
116
113
|
}
|
|
117
114
|
}
|
|
118
115
|
}
|
|
119
116
|
function collectRootComponentOption(finalOptions, funcOptions, rootComponentOptions) {
|
|
120
|
-
rootComponentOptions.customEvents && customEventsHandle(finalOptions, rootComponentOptions.customEvents);
|
|
121
|
-
|
|
122
|
-
rootComponentOptions.events && eventsHandle(finalOptions, rootComponentOptions.events);
|
|
123
|
-
delete rootComponentOptions.events;
|
|
117
|
+
rootComponentOptions.customEvents && customEventsHandle(finalOptions.methods, rootComponentOptions.customEvents);
|
|
118
|
+
rootComponentOptions.events && eventsHandle(finalOptions.methods, rootComponentOptions.events);
|
|
124
119
|
funcFieldsCollect(rootComponentOptions, funcOptions);
|
|
125
120
|
otherFieldsHandle(finalOptions, rootComponentOptions);
|
|
126
121
|
}
|
|
127
122
|
export function collectOptionsForComponent(defineComponentOption) {
|
|
128
|
-
var _a, _b;
|
|
129
123
|
const rootComponentOption = defineComponentOption.rootComponent;
|
|
130
124
|
const subComponentsList = defineComponentOption.subComponents;
|
|
131
125
|
const finalOptionsForComponent = {
|
|
@@ -136,6 +130,9 @@ export function collectOptionsForComponent(defineComponentOption) {
|
|
|
136
130
|
virtualHost: true,
|
|
137
131
|
},
|
|
138
132
|
behaviors: [BStore, BComputedAndWatch],
|
|
133
|
+
methods: {},
|
|
134
|
+
observers: {},
|
|
135
|
+
data: {},
|
|
139
136
|
};
|
|
140
137
|
const funcOptions = {
|
|
141
138
|
pageLifetimes: {},
|
|
@@ -148,15 +145,13 @@ export function collectOptionsForComponent(defineComponentOption) {
|
|
|
148
145
|
if (subComponentsList && !isEmptyObject(subComponentsList)) {
|
|
149
146
|
subComponentsHandle(finalOptionsForComponent, subComponentsList, funcOptions);
|
|
150
147
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
&& hijack(finalOptionsForComponent.
|
|
155
|
-
(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
|
|
159
|
-
}
|
|
148
|
+
funcOptionsHandle(finalOptionsForComponent, rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage, funcOptions);
|
|
149
|
+
InternalFieldProtection(finalOptionsForComponent.methods, ["disposer"]);
|
|
150
|
+
finalOptionsForComponent.isPage
|
|
151
|
+
&& hijack(finalOptionsForComponent.pageLifetimes || (finalOptionsForComponent.pageLifetimes = {}), "load", [loadReceivedDataHandle], []);
|
|
152
|
+
hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle], []);
|
|
153
|
+
finalOptionsForComponent.isPage
|
|
154
|
+
&& Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
|
|
160
155
|
finalOptionsForComponent.behaviors.push(BBeforeCreate);
|
|
161
156
|
return finalOptionsForComponent;
|
|
162
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectOptionsForComponent.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/collectOptionsForComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"collectOptionsForComponent.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/collectOptionsForComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AA2C1E,MAAM,CAAC,MAAM,eAAe,GAA+B,UAAS,OAAO;IAEzE,SAAS,CACP,0BAA0B,CAAC,OAAgC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AA2C1E,MAAM,CAAC,MAAM,eAAe,GAA+B,UAAS,OAAO;IAEzE,SAAS,CACP,0BAA0B,CAAC,OAAgC,CAAQ,CACpE,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { ComputeIntersection } from "hry-types/src/Object/ComputeIntersecti
|
|
|
3
3
|
import type { WMCompPageLifetimes, WMPageLifetimes } from "../../../types/OfficialTypeAlias";
|
|
4
4
|
export type PageLifetimesOption<TIsPage extends boolean, PropertiesDoc extends object> = IfExtends<TIsPage, false, {
|
|
5
5
|
pageLifetimes?: ComputeIntersection<Partial<WMCompPageLifetimes> & {
|
|
6
|
-
load?: (props: object) => void
|
|
6
|
+
load?: (props: object) => void;
|
|
7
7
|
}>;
|
|
8
8
|
}, {
|
|
9
9
|
pageLifetimes?: ComputeIntersection<Partial<Omit<WMPageLifetimes, "onLoad">> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/RootComponent/index.ts"],"names":[],"mappings":"AA4HA,MAAM,UAAU,aAAa;IAM3B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/RootComponent/index.ts"],"names":[],"mappings":"AA4HA,MAAM,UAAU,aAAa;IAM3B,OAAO,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC;AACnC,CAAC"}
|
|
@@ -6,7 +6,7 @@ export function computedUpdater(isUpdated = false) {
|
|
|
6
6
|
const itemCache = this.__computedCache__[key];
|
|
7
7
|
let changed = false;
|
|
8
8
|
for (const dep of itemCache.dependences) {
|
|
9
|
-
const curVal = getPathsValue
|
|
9
|
+
const curVal = getPathsValue(this.data, dep.paths.join("."))[0];
|
|
10
10
|
if (!isEqual(curVal, dep.val)) {
|
|
11
11
|
changed = true;
|
|
12
12
|
break;
|
|
@@ -14,16 +14,7 @@ export function computedUpdater(isUpdated = false) {
|
|
|
14
14
|
}
|
|
15
15
|
if (changed) {
|
|
16
16
|
const newDependences = [];
|
|
17
|
-
const
|
|
18
|
-
const computedThis = new Proxy({ data: deepProxy(this.data, newDependences) }, {
|
|
19
|
-
get(target, key) {
|
|
20
|
-
if (key === "data") {
|
|
21
|
-
return Reflect.get(target, key);
|
|
22
|
-
}
|
|
23
|
-
return Reflect.get(_this, key);
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
const newValue = itemCache.method.call(computedThis);
|
|
17
|
+
const newValue = itemCache.method.call({ data: deepProxy(this.data, newDependences) });
|
|
27
18
|
this.setData({
|
|
28
19
|
[key]: unwrap(newValue),
|
|
29
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computedUpdater.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/computedUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAiB,SAAS,GAAG,KAAK;
|
|
1
|
+
{"version":3,"file":"computedUpdater.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/computedUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,eAAe,CAAiB,SAAS,GAAG,KAAK;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC9C,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,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC;YAGzD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/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;
|
|
1
|
+
{"version":3,"file":"data-tracer.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/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;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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function getPathsValue(this: Instance, paths: string[]): any;
|
|
1
|
+
export declare function getPathsValue(data: object, paths: string): unknown[];
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
export function getPathsValue(paths) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
export function getPathsValue(data, paths) {
|
|
2
|
+
const valueList = [];
|
|
3
|
+
paths.split(",").forEach(path => {
|
|
4
|
+
const value = path.split(".").reduce((pre, path) => {
|
|
5
|
+
try {
|
|
6
|
+
return pre[path];
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
}, data);
|
|
12
|
+
valueList.push(value);
|
|
13
|
+
});
|
|
14
|
+
return valueList;
|
|
10
15
|
}
|
|
11
16
|
//# sourceMappingURL=getPathsValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPathsValue.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/getPathsValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPathsValue.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/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,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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function getRequiredSingleValue(PropType) {
|
|
2
|
+
switch (PropType) {
|
|
3
|
+
case String:
|
|
4
|
+
return "";
|
|
5
|
+
case Number:
|
|
6
|
+
return 0;
|
|
7
|
+
case Array:
|
|
8
|
+
return [];
|
|
9
|
+
case Object:
|
|
10
|
+
return null;
|
|
11
|
+
case Boolean:
|
|
12
|
+
return false;
|
|
13
|
+
default:
|
|
14
|
+
throw Error("properties字段类型只能为 String | Number | Array | Object | Boolean");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function IsRequiredSingle(config) {
|
|
18
|
+
return config instanceof Function;
|
|
19
|
+
}
|
|
20
|
+
function IsRequiredUnion(config) {
|
|
21
|
+
return !Reflect.has(config, "value");
|
|
22
|
+
}
|
|
23
|
+
export function getPropertiesValue(propertiesOpt) {
|
|
24
|
+
if (propertiesOpt === undefined)
|
|
25
|
+
return;
|
|
26
|
+
const result = {};
|
|
27
|
+
for (const key in propertiesOpt) {
|
|
28
|
+
const config = propertiesOpt[key];
|
|
29
|
+
if (IsRequiredSingle(config)) {
|
|
30
|
+
result[key] = getRequiredSingleValue(config);
|
|
31
|
+
}
|
|
32
|
+
else if (IsRequiredUnion(config)) {
|
|
33
|
+
result[key] = getRequiredSingleValue(config.type);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
result[key] = config.value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=getPropertiesValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPropertiesValue.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/getPropertiesValue.ts"],"names":[],"mappings":"AAUA,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,8DAA8D,CAC/D,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;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,54 +1,51 @@
|
|
|
1
1
|
import { deepClone } from "../../utils/deepClone";
|
|
2
2
|
import { deleteProtoField } from "../../utils/deleteProtoField";
|
|
3
3
|
import { isEmptyObject } from "../../utils/isEmptyObject";
|
|
4
|
+
import { computedUpdater } from "./computedUpdater";
|
|
4
5
|
import { getPathsValue } from "./getPathsValue";
|
|
6
|
+
import { getPropertiesValue } from "./getPropertiesValue";
|
|
5
7
|
import { initComputed } from "./initComputed";
|
|
6
8
|
import { isEqual } from "./isEqual";
|
|
7
|
-
import { isPage } from "./IsPage";
|
|
8
9
|
function initWatchOldValue(watchConfig) {
|
|
9
10
|
const watchOldValue = {};
|
|
10
11
|
for (const key in watchConfig) {
|
|
11
|
-
watchOldValue[key] = deepClone(getPathsValue
|
|
12
|
+
watchOldValue[key] = deepClone(getPathsValue(this.data, key));
|
|
12
13
|
}
|
|
13
14
|
return watchOldValue;
|
|
14
15
|
}
|
|
15
16
|
export const BComputedAndWatch = Behavior({
|
|
16
17
|
definitionFilter(options) {
|
|
18
|
+
const rawPropertiesValue = getPropertiesValue(options.properties);
|
|
19
|
+
const methodOpt = options.methods;
|
|
17
20
|
const computedConfig = options.computed;
|
|
18
21
|
if (computedConfig && !isEmptyObject(computedConfig)) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
case "待更新":
|
|
33
|
-
{
|
|
34
|
-
const isUpdated = this.__computedUpdater__();
|
|
35
|
-
if (isUpdated) {
|
|
36
|
-
this.__computedStatus__ = "更新完毕";
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
originalFunc && originalFunc.call(this);
|
|
40
|
-
}
|
|
22
|
+
const computedCache = initComputed(options, computedConfig, Object.assign(Object.assign({}, options.data), rawPropertiesValue));
|
|
23
|
+
methodOpt.__computedInitCache__ = () => computedCache;
|
|
24
|
+
}
|
|
25
|
+
const observersConfig = options.observers;
|
|
26
|
+
const originalFunc = observersConfig["**"];
|
|
27
|
+
observersConfig["**"] = function () {
|
|
28
|
+
const computedStatus = this.__computedStatus__;
|
|
29
|
+
switch (computedStatus) {
|
|
30
|
+
case "待更新":
|
|
31
|
+
{
|
|
32
|
+
const isUpdated = this.__computedUpdater__();
|
|
33
|
+
if (isUpdated) {
|
|
34
|
+
this.__computedStatus__ = "更新完毕";
|
|
41
35
|
}
|
|
42
|
-
|
|
43
|
-
case "更新完毕":
|
|
44
|
-
{
|
|
45
|
-
this.__computedStatus__ = "待更新";
|
|
36
|
+
else {
|
|
46
37
|
originalFunc && originalFunc.call(this);
|
|
47
38
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
case "更新完毕":
|
|
42
|
+
{
|
|
43
|
+
this.__computedStatus__ = "待更新";
|
|
44
|
+
originalFunc && originalFunc.call(this);
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
52
49
|
const watchConfig = options.watch;
|
|
53
50
|
if (watchConfig && !isEmptyObject(watchConfig)) {
|
|
54
51
|
const methodsConfig = options.methods || (options.methods = {});
|
|
@@ -56,31 +53,31 @@ export const BComputedAndWatch = Behavior({
|
|
|
56
53
|
const observersConfig = options.observers || (options.observers = {});
|
|
57
54
|
for (const key in watchConfig) {
|
|
58
55
|
const watchHadle = watchConfig[key];
|
|
59
|
-
observersConfig[key] = function (newValue) {
|
|
56
|
+
observersConfig[key] = function (...newValue) {
|
|
60
57
|
const watchOldValue = this.__watchOldValue__;
|
|
61
58
|
const oldValue = watchOldValue[key];
|
|
62
|
-
if (
|
|
59
|
+
if (isEqual(newValue, oldValue))
|
|
63
60
|
return;
|
|
64
61
|
watchOldValue[key] = deepClone(newValue);
|
|
65
|
-
watchHadle.call(this, newValue, oldValue);
|
|
62
|
+
watchHadle.call(this, ...newValue, ...oldValue);
|
|
66
63
|
};
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
66
|
},
|
|
70
67
|
lifetimes: {
|
|
71
68
|
created() {
|
|
72
|
-
var _a;
|
|
73
|
-
const
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const __computedInitCache__ = (_a = this.__computedInitCache__) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
71
|
+
this.__computedCache__ = __computedInitCache__;
|
|
72
|
+
deleteProtoField(this, "__computedInitCache__");
|
|
73
|
+
this.__computedStatus__ = "待更新";
|
|
74
|
+
this.__computedUpdater__ = computedUpdater.bind(this);
|
|
75
|
+
const watchConfig = (_b = this.__watchConfig__) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
74
76
|
deleteProtoField(this, "__watchConfig__");
|
|
75
77
|
if (watchConfig) {
|
|
76
78
|
this.__watchOldValue__ = initWatchOldValue.call(this, watchConfig);
|
|
77
79
|
}
|
|
78
80
|
},
|
|
79
|
-
attached() {
|
|
80
|
-
if (!isPage(this)) {
|
|
81
|
-
initComputed.call(this);
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
81
|
},
|
|
85
82
|
});
|
|
86
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/behaviors/BComputedAndWatch/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import type { Func } from "hry-types/src/Misc/Func";
|
|
2
|
-
import type {
|
|
2
|
+
import type { FinalOptionsOfComponent } from "../../api/DefineComponent/collectOptionsForComponent";
|
|
3
|
+
import type { ComputedCache, ItemCache } from "./types";
|
|
3
4
|
export type ComputedDependence = {
|
|
4
5
|
paths: string[];
|
|
5
6
|
val: unknown;
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
value: unknown;
|
|
10
|
-
};
|
|
11
|
-
export declare function getComputedInfo(this: Instance, computedKeys: string[], computedFunc: Func, key: string): false | ComputedInfo;
|
|
12
|
-
export declare function initComputed(this: Instance): void;
|
|
13
|
-
export {};
|
|
8
|
+
export declare function getItemCache(initAllData: object, computedKeys: string[], computedFunc: Func): false | ItemCache;
|
|
9
|
+
export declare function initComputed(options: FinalOptionsOfComponent, computedConfig: Record<string, Func>, initAllData: object, uninitedkeys?: string[], computedCache?: ComputedCache): ComputedCache;
|