HcySunYang
68de9f408a
fix(reactivity): fix shallow readonly behavior for collections ( #3003 )
...
fix #3007
2021-03-26 15:10:21 -04:00
zhufengzhufeng
9cd988342c
perf(reactivity): only call Set.add if doesn't already have value ( #3307 )
2021-02-25 14:57:35 -05:00
Thorsten Lünborg
6e46a574ed
fix(reactivity): ensure add/set on reactive collections return the proxy ( #2534 )
...
fix #2530
2020-11-27 14:16:00 -05:00
Lory Lee
6b8cf998c4
chore: add missing space in warning message ( #2266 ) [ci skip]
2020-10-13 16:18:22 -04:00
Nathan Shively-Sanders
d52d139b85
types: fix Typescript 4.1 compile error ( #2219 )
...
close #2218
2020-09-28 12:39:14 -04:00
Pick
fcf9b2cf19
fix(reactivity): should trigger collection's write-function correctly on non-reactive keys ( #1992 )
2020-09-14 21:31:04 -04:00
Evan You
0124eacc91
refactor(reactivity): refactor iteration key trigger logic + use more robust Map/Set check
2020-09-14 11:26:34 -04:00
Pick
97bc30edad
perf(reactivity): avoid triggering Map.has twice on non-reactive keys ( #1972 )
2020-08-26 11:41:18 -04:00
Evan You
016ba116a8
fix(reactivity): fix iOS 12 JSON.stringify error on reactive objects
...
- Use WeakMap for raw -> reactive/readonly storage. This is slightly
more expensive than using a field on the taget object but avoids
polluting the original.
- also fix Collection.forEach callback value
fix #1916
2020-08-24 15:34:04 -04:00
Evan You
50adc014f5
refactor(reactivity): readonly collections should not track
2020-08-06 12:10:03 -04:00
Evan You
ed4381020f
fix(reactivity): readonly+reactive collection should also expose readonly+reactive values
...
fix #1772
2020-08-06 11:18:16 -04:00
edison
178e89305d
chore(reactivity): use consistent naming for ReactiveFlags enum ( #1428 )
2020-06-26 09:32:09 -04:00
Pick
f54be6a462
refactor(types): simplify UnwrapRef + specify iterable method return type ( #1444 )
2020-06-25 12:04:14 -04:00
Carlos Rodrigues
c97d1bae56
fix(reactivity): shallowReactive collection to not-readonly ( #1212 )
2020-06-09 17:20:30 -04:00
Carlos Rodrigues
488e2bcfef
fix(reactivity): shallowReactive for collections ( #1204 )
...
close #1202
2020-05-18 11:17:37 -04:00
龙腾道
e08f6f0ede
fix(reactivity): use correct thisArg for collection method callbacks ( #1132 )
2020-05-06 13:41:34 -04:00
Evan You
d901b6bea8
refactor(reactivity): use more efficient reactive checks
...
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.
This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
ysj16
667e42065d
chore: typo ( #928 )
2020-04-06 09:09:44 -04:00
Evan You
5dcc645fc0
fix(reactivity): track reactive keys in raw collection types
...
Also warn against presence of both raw and reactive versions of the
same object in a collection as keys.
fix #919
2020-04-04 12:57:22 -04:00
Evan You
45ba06ac5f
fix(reactivity): should not trigger map keys iteration when keys did not change
...
fix #877
2020-03-24 12:43:06 -04:00
djy0
b13886b1ba
types(reactivity): remove this in get accessor, fix #800 ( #806 )
2020-03-09 16:01:49 -04:00
Evan You
cc69fd72e3
fix(reactivity): Map/Set identity methods should work even if raw value contains reactive entries
...
fix #799
2020-03-06 11:10:02 -05:00
Evan You
16f9e63951
types: remove 'this' annotation from 'get' accessor ( #801 )
...
The next version of Typescript disallows 'this' parameter annotations on
accessors, which causes vue-next to fail to compile.
This PR removes the annotation and adds a cast instead.
Fixes #800
2020-03-05 16:57:52 -06:00
Evan You
33622d6360
perf(reactivity): only trigger all effects on Array length mutation if new length is shorter than old length
2020-02-21 15:05:16 +01:00
likui
63a6563106
fix(reactivity): should delete observe value ( #598 )
...
fix #597
2020-01-13 17:11:49 -05:00
Evan You
89a187b895
refactor(reactivity): separate track and trigger operation types
2019-12-03 11:30:24 -05:00
Mayness
18a349ce8c
fix(reactivity): account for NaN in value change checks ( #361 )
2019-10-23 11:53:43 -04:00
Cr
246cad7459
fix(reactivity): Map.set should trigger when adding new entry with undefined value ( #364 )
2019-10-23 11:00:55 -04:00
Evan You
b5886189ba
types: massive refactor
2019-10-22 11:53:32 -04:00
Evan You
891f21b010
refactor: extract hasOwn helper
2019-09-05 20:48:14 -04:00
Evan You
6c7cbb0dc9
types: avoid plain objects with value being mistaken as refs
2019-09-05 18:32:19 -04:00
Evan You
3efe0ba3cd
test: jest warning assert utils
2019-08-26 16:08:23 -04:00
Evan You
589d3c2feb
refactor: immutable -> readonly
2019-08-23 09:38:32 -04:00
Evan You
caba6d5c9e
wip: state -> reactive, value -> ref
2019-08-16 09:42:46 -04:00
Evan You
471899af8b
refactor: rename reactivity package name and APIs
2019-06-11 23:50:28 +08:00