@joist/observable 4.2.3-next.13 → 4.2.3-next.16
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/package.json +1 -1
- package/src/lib/metadata.test.ts +1 -0
- package/src/lib/metadata.ts +3 -6
- package/src/lib/observe.test.ts +15 -0
- package/src/lib/observe.ts +18 -3
- package/target/lib/metadata.d.ts +1 -0
- package/target/lib/metadata.js +1 -0
- package/target/lib/metadata.js.map +1 -1
- package/target/lib/metadata.test.js +1 -0
- package/target/lib/metadata.test.js.map +1 -1
- package/target/lib/observe.js +14 -3
- package/target/lib/observe.js.map +1 -1
- package/target/lib/observe.test.js +33 -0
- package/target/lib/observe.test.js.map +1 -1
- package/src/lib/computed.test.ts +0 -55
- package/target/lib/computed.test.d.ts +0 -1
- package/target/lib/computed.test.js +0 -100
- package/target/lib/computed.test.js.map +0 -1
package/package.json
CHANGED
package/src/lib/metadata.test.ts
CHANGED
package/src/lib/metadata.ts
CHANGED
|
@@ -13,6 +13,7 @@ export class ObservableInstanceMetadata<T> {
|
|
|
13
13
|
scheduler: Promise<void> | null = null;
|
|
14
14
|
changes: Changes<T> = new Changes();
|
|
15
15
|
bindings: Set<(changes: Changes<T>) => void> = new Set();
|
|
16
|
+
initialized: Set<string | symbol> = new Set();
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
export class ObservableInstanceMetaDataStore extends WeakMap<
|
|
@@ -36,10 +37,7 @@ export class ObservableMetadata<T> {
|
|
|
36
37
|
effects: Set<EffectFn<T>> = new Set();
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
export class ObservableMetadataStore extends WeakMap<
|
|
40
|
-
object,
|
|
41
|
-
ObservableMetadata<unknown>
|
|
42
|
-
> {
|
|
40
|
+
export class ObservableMetadataStore extends WeakMap<object, ObservableMetadata<unknown>> {
|
|
43
41
|
read<T extends object>(key: object): ObservableMetadata<T> {
|
|
44
42
|
let data = this.get(key);
|
|
45
43
|
|
|
@@ -56,5 +54,4 @@ export class ObservableMetadataStore extends WeakMap<
|
|
|
56
54
|
export const instanceMetadataStore: ObservableInstanceMetaDataStore =
|
|
57
55
|
new ObservableInstanceMetaDataStore();
|
|
58
56
|
|
|
59
|
-
export const observableMetadataStore: ObservableMetadataStore =
|
|
60
|
-
new ObservableMetadataStore();
|
|
57
|
+
export const observableMetadataStore: ObservableMetadataStore = new ObservableMetadataStore();
|
package/src/lib/observe.test.ts
CHANGED
|
@@ -153,4 +153,19 @@ describe("computed decorator", () => {
|
|
|
153
153
|
assert.equal(instance.sum, 7);
|
|
154
154
|
assert.equal(instance.product, 12);
|
|
155
155
|
});
|
|
156
|
+
|
|
157
|
+
it("should throw when trying to set a computed property", () => {
|
|
158
|
+
class TestClass {
|
|
159
|
+
@observe()
|
|
160
|
+
accessor x = 1;
|
|
161
|
+
|
|
162
|
+
@observe((i) => i.x * 2)
|
|
163
|
+
accessor double = 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
const instance = new TestClass();
|
|
167
|
+
assert.throws(() => {
|
|
168
|
+
instance.double = 10;
|
|
169
|
+
}, /Cannot set value of computed property/);
|
|
170
|
+
});
|
|
156
171
|
});
|
package/src/lib/observe.ts
CHANGED
|
@@ -9,9 +9,9 @@ export function observe<This extends object, Value>(mapper?: (instance: This) =>
|
|
|
9
9
|
): ClassAccessorDecoratorResult<This, Value> {
|
|
10
10
|
const observableMeta = observableMetadataStore.read<This>(ctx.metadata);
|
|
11
11
|
|
|
12
|
-
observableMeta.effects.add(function (this: This) {
|
|
12
|
+
observableMeta.effects.add(function mapperFn(this: This) {
|
|
13
13
|
if (mapper) {
|
|
14
|
-
|
|
14
|
+
base.set.call(this, mapper(this));
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
|
|
@@ -31,13 +31,28 @@ export function observe<This extends object, Value>(mapper?: (instance: This) =>
|
|
|
31
31
|
}
|
|
32
32
|
// END
|
|
33
33
|
|
|
34
|
+
return value;
|
|
35
|
+
},
|
|
36
|
+
get() {
|
|
34
37
|
if (mapper) {
|
|
38
|
+
const instanceMeta = instanceMetadataStore.read<This>(this);
|
|
39
|
+
|
|
40
|
+
if (!instanceMeta.initialized.has(ctx.name)) {
|
|
41
|
+
instanceMeta.initialized.add(ctx.name);
|
|
42
|
+
|
|
43
|
+
return mapper(this);
|
|
44
|
+
}
|
|
45
|
+
|
|
35
46
|
return mapper(this);
|
|
36
47
|
}
|
|
37
48
|
|
|
38
|
-
return
|
|
49
|
+
return base.get.call(this);
|
|
39
50
|
},
|
|
40
51
|
set(newValue: Value) {
|
|
52
|
+
if (mapper) {
|
|
53
|
+
throw new Error("Cannot set value of computed property");
|
|
54
|
+
}
|
|
55
|
+
|
|
41
56
|
const oldValue = base.get.call(this);
|
|
42
57
|
const instanceMeta = instanceMetadataStore.read<This>(this);
|
|
43
58
|
|
package/target/lib/metadata.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class ObservableInstanceMetadata<T> {
|
|
|
9
9
|
scheduler: Promise<void> | null;
|
|
10
10
|
changes: Changes<T>;
|
|
11
11
|
bindings: Set<(changes: Changes<T>) => void>;
|
|
12
|
+
initialized: Set<string | symbol>;
|
|
12
13
|
}
|
|
13
14
|
export declare class ObservableInstanceMetaDataStore extends WeakMap<object, ObservableInstanceMetadata<unknown>> {
|
|
14
15
|
read<T extends object>(key: T): ObservableInstanceMetadata<T>;
|
package/target/lib/metadata.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AASvD,MAAM,OAAO,OAAW,SAAQ,GAA6B;CAAG;AAEhE,MAAM,OAAO,0BAA0B;IACrC,SAAS,GAAyB,IAAI,CAAC;IACvC,OAAO,GAAe,IAAI,OAAO,EAAE,CAAC;IACpC,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AASvD,MAAM,OAAO,OAAW,SAAQ,GAA6B;CAAG;AAEhE,MAAM,OAAO,0BAA0B;IACrC,SAAS,GAAyB,IAAI,CAAC;IACvC,OAAO,GAAe,IAAI,OAAO,EAAE,CAAC;IACpC,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;IACzD,WAAW,GAAyB,IAAI,GAAG,EAAE,CAAC;CAC/C;AAED,MAAM,OAAO,+BAAgC,SAAQ,OAGpD;IACC,IAAI,CAAmB,GAAM;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,0BAA0B,EAAE,CAAC;YAExC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,IAAqC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAC7B,OAAO,GAAqB,IAAI,GAAG,EAAE,CAAC;CACvC;AAED,MAAM,OAAO,uBAAwB,SAAQ,OAA4C;IACvF,IAAI,CAAmB,GAAW;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAEhC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,IAA6B,CAAC;IACvC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,qBAAqB,GAChC,IAAI,+BAA+B,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAA4B,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.test.js","sourceRoot":"","sources":["../../src/lib/metadata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAEzE,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,+BAA+B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE7D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,OAAO,EAAE;QACtB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI,GAAG,EAAc;
|
|
1
|
+
{"version":3,"file":"metadata.test.js","sourceRoot":"","sources":["../../src/lib/metadata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAEzE,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,+BAA+B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE7D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,OAAO,EAAE;QACtB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI,GAAG,EAAc;QAC/B,WAAW,EAAE,IAAI,GAAG,EAAmB;KACxC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,+BAA+B,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
|
package/target/lib/observe.js
CHANGED
|
@@ -3,9 +3,9 @@ const INIT_VALUE = Symbol("init");
|
|
|
3
3
|
export function observe(mapper) {
|
|
4
4
|
return function observeDecorato(base, ctx) {
|
|
5
5
|
const observableMeta = observableMetadataStore.read(ctx.metadata);
|
|
6
|
-
observableMeta.effects.add(function () {
|
|
6
|
+
observableMeta.effects.add(function mapperFn() {
|
|
7
7
|
if (mapper) {
|
|
8
|
-
|
|
8
|
+
base.set.call(this, mapper(this));
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
return {
|
|
@@ -19,12 +19,23 @@ export function observe(mapper) {
|
|
|
19
19
|
Reflect.deleteProperty(this, ctx.name);
|
|
20
20
|
return val;
|
|
21
21
|
}
|
|
22
|
+
return value;
|
|
23
|
+
},
|
|
24
|
+
get() {
|
|
22
25
|
if (mapper) {
|
|
26
|
+
const instanceMeta = instanceMetadataStore.read(this);
|
|
27
|
+
if (!instanceMeta.initialized.has(ctx.name)) {
|
|
28
|
+
instanceMeta.initialized.add(ctx.name);
|
|
29
|
+
return mapper(this);
|
|
30
|
+
}
|
|
23
31
|
return mapper(this);
|
|
24
32
|
}
|
|
25
|
-
return
|
|
33
|
+
return base.get.call(this);
|
|
26
34
|
},
|
|
27
35
|
set(newValue) {
|
|
36
|
+
if (mapper) {
|
|
37
|
+
throw new Error("Cannot set value of computed property");
|
|
38
|
+
}
|
|
28
39
|
const oldValue = base.get.call(this);
|
|
29
40
|
const instanceMeta = instanceMetadataStore.read(this);
|
|
30
41
|
if (newValue !== oldValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/lib/observe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE9F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,UAAU,OAAO,CAA6B,MAAkC;IACpF,OAAO,SAAS,eAAe,CAC7B,IAA+C,EAC/C,GAA+C;QAE/C,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/lib/observe.ts"],"names":[],"mappings":"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"}
|
|
@@ -243,5 +243,38 @@ describe("computed decorator", () => {
|
|
|
243
243
|
assert.equal(instance.sum, 7);
|
|
244
244
|
assert.equal(instance.product, 12);
|
|
245
245
|
});
|
|
246
|
+
it("should throw when trying to set a computed property", () => {
|
|
247
|
+
let TestClass = (() => {
|
|
248
|
+
let _x_decorators;
|
|
249
|
+
let _x_initializers = [];
|
|
250
|
+
let _x_extraInitializers = [];
|
|
251
|
+
let _double_decorators;
|
|
252
|
+
let _double_initializers = [];
|
|
253
|
+
let _double_extraInitializers = [];
|
|
254
|
+
return class TestClass {
|
|
255
|
+
static {
|
|
256
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
257
|
+
_x_decorators = [observe()];
|
|
258
|
+
_double_decorators = [observe((i) => i.x * 2)];
|
|
259
|
+
__esDecorate(this, null, _x_decorators, { kind: "accessor", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _x_initializers, _x_extraInitializers);
|
|
260
|
+
__esDecorate(this, null, _double_decorators, { kind: "accessor", name: "double", static: false, private: false, access: { has: obj => "double" in obj, get: obj => obj.double, set: (obj, value) => { obj.double = value; } }, metadata: _metadata }, _double_initializers, _double_extraInitializers);
|
|
261
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
262
|
+
}
|
|
263
|
+
#x_accessor_storage = __runInitializers(this, _x_initializers, 1);
|
|
264
|
+
get x() { return this.#x_accessor_storage; }
|
|
265
|
+
set x(value) { this.#x_accessor_storage = value; }
|
|
266
|
+
#double_accessor_storage = (__runInitializers(this, _x_extraInitializers), __runInitializers(this, _double_initializers, 0));
|
|
267
|
+
get double() { return this.#double_accessor_storage; }
|
|
268
|
+
set double(value) { this.#double_accessor_storage = value; }
|
|
269
|
+
constructor() {
|
|
270
|
+
__runInitializers(this, _double_extraInitializers);
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
})();
|
|
274
|
+
const instance = new TestClass();
|
|
275
|
+
assert.throws(() => {
|
|
276
|
+
instance.double = 10;
|
|
277
|
+
}, /Cannot set value of computed property/);
|
|
278
|
+
});
|
|
246
279
|
});
|
|
247
280
|
//# sourceMappingURL=observe.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/lib/observe.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/lib/observe.test.ts"],"names":[],"mappings":"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"}
|
package/src/lib/computed.test.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { expect } from "@open-wc/testing";
|
|
2
|
-
import { observe } from "./observe.js";
|
|
3
|
-
|
|
4
|
-
describe("computed decorator", () => {
|
|
5
|
-
it("should compute values based on other properties", async () => {
|
|
6
|
-
class TestClass {
|
|
7
|
-
@observe()
|
|
8
|
-
accessor firstName = "John";
|
|
9
|
-
|
|
10
|
-
@observe()
|
|
11
|
-
accessor lastName = "Doe";
|
|
12
|
-
|
|
13
|
-
@observe((i) => `${i.firstName} ${i.lastName}`)
|
|
14
|
-
accessor fullName = "";
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const instance = new TestClass();
|
|
18
|
-
expect(instance.fullName).to.equal("John Doe");
|
|
19
|
-
|
|
20
|
-
// Update dependencies
|
|
21
|
-
instance.firstName = "Jane";
|
|
22
|
-
|
|
23
|
-
await Promise.resolve();
|
|
24
|
-
|
|
25
|
-
expect(instance.fullName).to.equal("Jane Doe");
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("should handle multiple computed properties", async () => {
|
|
29
|
-
class TestClass {
|
|
30
|
-
@observe()
|
|
31
|
-
accessor x = 2;
|
|
32
|
-
|
|
33
|
-
@observe()
|
|
34
|
-
accessor y = 3;
|
|
35
|
-
|
|
36
|
-
@observe((i) => i.x + i.y)
|
|
37
|
-
accessor sum = 0;
|
|
38
|
-
|
|
39
|
-
@observe((i) => i.x * i.y)
|
|
40
|
-
accessor product = 0;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const instance = new TestClass();
|
|
44
|
-
expect(instance.sum).to.equal(5);
|
|
45
|
-
expect(instance.product).to.equal(6);
|
|
46
|
-
|
|
47
|
-
// Update dependencies
|
|
48
|
-
instance.x = 4;
|
|
49
|
-
|
|
50
|
-
await Promise.resolve();
|
|
51
|
-
|
|
52
|
-
expect(instance.sum).to.equal(7);
|
|
53
|
-
expect(instance.product).to.equal(12);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { expect } from "@open-wc/testing";
|
|
3
|
-
import { observe } from "./observe.js";
|
|
4
|
-
describe("computed decorator", () => {
|
|
5
|
-
it("should compute values based on other properties", async () => {
|
|
6
|
-
let TestClass = (() => {
|
|
7
|
-
let _firstName_decorators;
|
|
8
|
-
let _firstName_initializers = [];
|
|
9
|
-
let _firstName_extraInitializers = [];
|
|
10
|
-
let _lastName_decorators;
|
|
11
|
-
let _lastName_initializers = [];
|
|
12
|
-
let _lastName_extraInitializers = [];
|
|
13
|
-
let _fullName_decorators;
|
|
14
|
-
let _fullName_initializers = [];
|
|
15
|
-
let _fullName_extraInitializers = [];
|
|
16
|
-
return class TestClass {
|
|
17
|
-
static {
|
|
18
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
19
|
-
_firstName_decorators = [observe()];
|
|
20
|
-
_lastName_decorators = [observe()];
|
|
21
|
-
_fullName_decorators = [observe((i) => `${i.firstName} ${i.lastName}`)];
|
|
22
|
-
__esDecorate(this, null, _firstName_decorators, { kind: "accessor", name: "firstName", static: false, private: false, access: { has: obj => "firstName" in obj, get: obj => obj.firstName, set: (obj, value) => { obj.firstName = value; } }, metadata: _metadata }, _firstName_initializers, _firstName_extraInitializers);
|
|
23
|
-
__esDecorate(this, null, _lastName_decorators, { kind: "accessor", name: "lastName", static: false, private: false, access: { has: obj => "lastName" in obj, get: obj => obj.lastName, set: (obj, value) => { obj.lastName = value; } }, metadata: _metadata }, _lastName_initializers, _lastName_extraInitializers);
|
|
24
|
-
__esDecorate(this, null, _fullName_decorators, { kind: "accessor", name: "fullName", static: false, private: false, access: { has: obj => "fullName" in obj, get: obj => obj.fullName, set: (obj, value) => { obj.fullName = value; } }, metadata: _metadata }, _fullName_initializers, _fullName_extraInitializers);
|
|
25
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
26
|
-
}
|
|
27
|
-
#firstName_accessor_storage = __runInitializers(this, _firstName_initializers, "John");
|
|
28
|
-
get firstName() { return this.#firstName_accessor_storage; }
|
|
29
|
-
set firstName(value) { this.#firstName_accessor_storage = value; }
|
|
30
|
-
#lastName_accessor_storage = (__runInitializers(this, _firstName_extraInitializers), __runInitializers(this, _lastName_initializers, "Doe"));
|
|
31
|
-
get lastName() { return this.#lastName_accessor_storage; }
|
|
32
|
-
set lastName(value) { this.#lastName_accessor_storage = value; }
|
|
33
|
-
#fullName_accessor_storage = (__runInitializers(this, _lastName_extraInitializers), __runInitializers(this, _fullName_initializers, ""));
|
|
34
|
-
get fullName() { return this.#fullName_accessor_storage; }
|
|
35
|
-
set fullName(value) { this.#fullName_accessor_storage = value; }
|
|
36
|
-
constructor() {
|
|
37
|
-
__runInitializers(this, _fullName_extraInitializers);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
})();
|
|
41
|
-
const instance = new TestClass();
|
|
42
|
-
expect(instance.fullName).to.equal("John Doe");
|
|
43
|
-
instance.firstName = "Jane";
|
|
44
|
-
await Promise.resolve();
|
|
45
|
-
expect(instance.fullName).to.equal("Jane Doe");
|
|
46
|
-
});
|
|
47
|
-
it("should handle multiple computed properties", async () => {
|
|
48
|
-
let TestClass = (() => {
|
|
49
|
-
let _x_decorators;
|
|
50
|
-
let _x_initializers = [];
|
|
51
|
-
let _x_extraInitializers = [];
|
|
52
|
-
let _y_decorators;
|
|
53
|
-
let _y_initializers = [];
|
|
54
|
-
let _y_extraInitializers = [];
|
|
55
|
-
let _sum_decorators;
|
|
56
|
-
let _sum_initializers = [];
|
|
57
|
-
let _sum_extraInitializers = [];
|
|
58
|
-
let _product_decorators;
|
|
59
|
-
let _product_initializers = [];
|
|
60
|
-
let _product_extraInitializers = [];
|
|
61
|
-
return class TestClass {
|
|
62
|
-
static {
|
|
63
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
64
|
-
_x_decorators = [observe()];
|
|
65
|
-
_y_decorators = [observe()];
|
|
66
|
-
_sum_decorators = [observe((i) => i.x + i.y)];
|
|
67
|
-
_product_decorators = [observe((i) => i.x * i.y)];
|
|
68
|
-
__esDecorate(this, null, _x_decorators, { kind: "accessor", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _x_initializers, _x_extraInitializers);
|
|
69
|
-
__esDecorate(this, null, _y_decorators, { kind: "accessor", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers);
|
|
70
|
-
__esDecorate(this, null, _sum_decorators, { kind: "accessor", name: "sum", static: false, private: false, access: { has: obj => "sum" in obj, get: obj => obj.sum, set: (obj, value) => { obj.sum = value; } }, metadata: _metadata }, _sum_initializers, _sum_extraInitializers);
|
|
71
|
-
__esDecorate(this, null, _product_decorators, { kind: "accessor", name: "product", static: false, private: false, access: { has: obj => "product" in obj, get: obj => obj.product, set: (obj, value) => { obj.product = value; } }, metadata: _metadata }, _product_initializers, _product_extraInitializers);
|
|
72
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
73
|
-
}
|
|
74
|
-
#x_accessor_storage = __runInitializers(this, _x_initializers, 2);
|
|
75
|
-
get x() { return this.#x_accessor_storage; }
|
|
76
|
-
set x(value) { this.#x_accessor_storage = value; }
|
|
77
|
-
#y_accessor_storage = (__runInitializers(this, _x_extraInitializers), __runInitializers(this, _y_initializers, 3));
|
|
78
|
-
get y() { return this.#y_accessor_storage; }
|
|
79
|
-
set y(value) { this.#y_accessor_storage = value; }
|
|
80
|
-
#sum_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _sum_initializers, 0));
|
|
81
|
-
get sum() { return this.#sum_accessor_storage; }
|
|
82
|
-
set sum(value) { this.#sum_accessor_storage = value; }
|
|
83
|
-
#product_accessor_storage = (__runInitializers(this, _sum_extraInitializers), __runInitializers(this, _product_initializers, 0));
|
|
84
|
-
get product() { return this.#product_accessor_storage; }
|
|
85
|
-
set product(value) { this.#product_accessor_storage = value; }
|
|
86
|
-
constructor() {
|
|
87
|
-
__runInitializers(this, _product_extraInitializers);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
})();
|
|
91
|
-
const instance = new TestClass();
|
|
92
|
-
expect(instance.sum).to.equal(5);
|
|
93
|
-
expect(instance.product).to.equal(6);
|
|
94
|
-
instance.x = 4;
|
|
95
|
-
await Promise.resolve();
|
|
96
|
-
expect(instance.sum).to.equal(7);
|
|
97
|
-
expect(instance.product).to.equal(12);
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
//# sourceMappingURL=computed.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"computed.test.js","sourceRoot":"","sources":["../../src/lib/computed.test.ts"],"names":[],"mappings":"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"}
|