Pick
fcf9b2cf19
fix(reactivity): should trigger collection's write-function correctly on non-reactive keys ( #1992 )
2020-09-14 21:31:04 -04:00
Hefty
0d4910a211
fix(reactivity): add NaN prop on Array should not trigger length dependency. ( #1998 )
2020-09-14 20:40:09 -04:00
Pick
97bc30edad
perf(reactivity): avoid triggering Map.has twice on non-reactive keys ( #1972 )
2020-08-26 11:41:18 -04:00
xxgjzftd
d5c4f6ed4d
perf(reactivity): add existing index or non-integer prop on Array should not trigger length dependency ( #1969 )
2020-08-26 11:28:58 -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
ᴜɴвʏтᴇ
3c05f8bbd6
fix(reactivity): unwrap non-index accessed refs on reactive arrays ( #1859 )
...
close #1846
2020-08-21 13:36:41 -04:00
Evan You
7454e2a52b
build(deps): upgrade to TypeScript 4
2020-08-20 17:48:28 -04:00
Pick
02dcc68c24
test(reactivity): improve built-in Collection subclass test cases ( #1885 )
2020-08-19 16:22:31 -04:00
Jordan Pittman
4172fdb90c
feat(reactivity): return array when calling toRefs
on array ( #1768 )
...
close #1764
2020-08-18 12:11:13 -04:00
ᴜɴвʏтᴇ
d005b578b1
fix(reactivity): accept subtypes of collections ( #1864 )
2020-08-17 12:17:46 -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
wujieZ
2787c34cd4
fix(reactivity): use isExtensible instead of isFrozen ( #1753 )
...
close #1784
2020-08-05 11:53:50 -04:00
Evan You
730e39eb76
refactor: remove unnecessary conditions and test case
2020-07-28 12:26:14 -04:00
Evan You
5c74243211
test: move mockWarn into setup files
2020-07-27 22:58:51 -04:00
Evan You
7edfdf7e23
fix(reactivity): avoid tracking internal symbols in has trap
...
fix #1683
2020-07-22 21:23:32 -04:00
Carlos Rodrigues
dabdc5e115
feat(computed): add readonly flag if no setter is provided ( #1654 )
2020-07-20 17:35:31 -04:00
Pick
028a8c20df
test(reactivity): adjust ref unwrap test inside arrays ( #1457 )
2020-06-29 12:10:29 -04:00
Yang Mingshan
80e1693e1f
fix(reactivity): replaced ref in reactive object should be tracked ( #1058 )
2020-06-12 09:20:43 -04:00
蜗牛老湿
426803046f
test(reactivity): 100% reactivity coverage ( #1299 )
2020-06-11 16:55:56 -04:00
Evan You
10bb34bb86
fix(reactivity): fix toRaw for objects prototype inherting reactive
...
fix #1246
2020-06-11 15:12:57 -04:00
Carlos Rodrigues
c97d1bae56
fix(reactivity): shallowReactive collection to not-readonly ( #1212 )
2020-06-09 17:20:30 -04:00
doly mood
d3c436ae2e
feat(types): mixins/extends support in TypeScript ( #626 )
2020-06-09 10:37:00 -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
XinPing Wang
8bab78b648
test: reactive proto
2020-05-03 15:36:19 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Evan You
2acf3e84b9
feat(reactivity): add triggerRef API
...
Also make shallowRef assignment behavior consistent with normal ref
2020-04-22 18:00:10 -04:00
Evan You
b0d4df9743
perf(reactivity): ref should not trigger if value did not change
...
Note: shallowRef will always trigger on assignment because it does not
account for deep mutations
close #1012
2020-04-22 15:11:01 -04:00
Carlos Rodrigues
d7ae1d0244
test(reactivity): add tests for object with symbols ( #969 )
2020-04-16 09:24:46 -04:00
Evan You
09b4202a22
refactor(reactivity): adjust APIs
...
BREAKING CHANGE: Reactivity APIs adjustments:
- `readonly` is now non-tracking if called on plain objects.
`lock` and `unlock` have been removed. A `readonly` proxy can no
longer be directly mutated. However, it can still wrap an already
reactive object and track changes to the source reactive object.
- `isReactive` now only returns true for proxies created by `reactive`,
or a `readonly` proxy that wraps a `reactive` proxy.
- A new utility `isProxy` is introduced, which returns true for both
reactive or readonly proxies.
- `markNonReactive` has been renamed to `markRaw`.
2020-04-15 16:45:20 -04:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
Evan You
486dc188fe
feat(reactivity): add support for toRef
API
2020-04-14 20:49:18 -04:00
Evan You
b83c580131
feat(reactivity): add support for customRef
API
2020-04-14 20:45:46 -04:00
Evan You
e8a866ec99
refactor(reactivity): remove stale API markReadonly
...
BREAKING CHANGE: `markReadonly` has been removed.
2020-04-13 17:39:48 -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
0764c33d3d
fix(reactivity): scheduled effect should not execute if stopped
...
fix #910
2020-04-02 19:50:48 -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
Evan You
1b2149dbb2
fix(reactivity): should not observe frozen objects
...
fix #867
2020-03-23 11:28:20 -04:00
Evan You
a3066581f3
fix(reactivity): should not trigger length dependency on Array delete
...
close #774
2020-03-06 11:31:10 -05: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
e9024bf1b7
feat(reactivity): expose unref and shallowRef
2020-02-22 04:39:32 +01:00
Evan You
775a7c2b41
refactor: preserve refs in reactive arrays
...
BREAKING CHANGE: reactive arrays no longer unwraps contained refs
When reactive arrays contain refs, especially a mix of refs and
plain values, Array prototype methods will fail to function
properly - e.g. sort() or reverse() will overwrite the ref's value
instead of moving it (see #737 ).
Ensuring correct behavior for all possible Array methods while
retaining the ref unwrapping behavior is exceedinly complicated; In
addition, even if Vue handles the built-in methods internally, it
would still break when the user attempts to use a 3rd party utility
functioon (e.g. lodash) on a reactive array containing refs.
After this commit, similar to other collection types like Map and
Set, Arrays will no longer automatically unwrap contained refs.
The usage of mixed refs and plain values in Arrays should be rare in
practice. In cases where this is necessary, the user can create a
computed property that performs the unwrapping.
2020-02-21 17:48:39 +01:00
hareku
014acc13e9
test(reactivity): test for ref without init value ( #746 )
2020-02-21 14:44:41 +01:00
guaijie
5fac65589b
fix(reactivity): should trigger all effects when array length is mutated ( #754 )
2020-02-21 11:38:07 +01:00
Evan You
e8e67729cb
fix(reactivity): effect should handle self dependency mutations
2020-02-18 13:22:09 -05:00
Evan You
e1c9153b9e
fix(reactivity): trigger iteration effect on Map.set
...
fix #709
2020-02-18 00:09:24 -05:00
Dmitry Sharshakov
7f38c1e0ff
feat(reactivity): add shallowReactive function ( #689 )
2020-02-04 10:15:27 -05:00
Evan You
aefb7d282e
fix(reactivity): Array methods relying on identity should work with raw values
2020-01-23 13:42:31 -05:00
Evan You
2569890e31
refactor: move mockWarn utility to @vue/shared
...
close #652
2020-01-22 09:29:45 -05:00
Rustin
5aa9868512
test(reactivity): declare the exact type ( #644 )
2020-01-20 12:02:08 -05:00
likui
63a6563106
fix(reactivity): should delete observe value ( #598 )
...
fix #597
2020-01-13 17:11:49 -05:00
Elad Frizi
1cf1ad5e94
test(reactivity): extracted repetitive assertions ( #554 )
2019-12-30 11:29:43 -05:00
Evan You
0a4f306492
fix: shallowReadonly should keep reactive properties reactive
...
ref #552
2019-12-20 11:14:07 -05:00
Evan You
89a187b895
refactor(reactivity): separate track and trigger operation types
2019-12-03 11:30:24 -05:00
Evan You
57bbbb227c
fix(core): propsProxy should not convert non-reactive nested values
2019-12-02 14:11:12 -05:00
Carlos Rodrigues
68ad302714
types(reactivity): add support for tuples in ref unwrapping ( #436 )
2019-11-08 12:52:24 -05:00
Carlos Rodrigues
c53ca29ea1
test(reactivity): Add check if the child array gets unwrap ( #434 )
2019-11-07 09:28:49 -05:00
Evan You
d9c6ff372c
feat(core): allow passing explicit refs via props
2019-11-06 12:51:26 -05:00
JiZhi
cb97d152b8
test(effect): add test for nested stopped effect ( #417 )
2019-10-30 11:36:17 -04:00
Evan You
247c53672d
refactor(reactivity): simplify effect options
2019-10-30 11:11:23 -04:00
夜宴
57276f9dcb
test(effect): add test for json methods ( #371 )
2019-10-25 10:17:31 -04: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
d69d3bf765
fix(reactivity): revert to Reflect.get and add test cases
2019-10-18 15:31:28 -04:00
扩散性百万甜面包
3cd2f7e68e
types: fix ref unwrapping when nested inside arrays ( #331 )
2019-10-18 14:54:05 -04:00
Evan You
1c56d1bf19
test: test unwrapping computed refs
2019-10-14 11:21:09 -04:00
相学长
cbb4b19cfb
feat(reactivity): ref(Ref) should return Ref ( #180 )
2019-10-10 11:34:42 -04:00
唐道海
b7b89505eb
test(reactivity/effect): add test for lazy option ( #179 )
2019-10-10 10:12:27 -04:00
Dmitry Sharshakov
530be302fc
feat(computed): warn if trying to set a readonly computed ( #161 )
2019-10-09 12:20:53 -04:00
夜宴
8d10096d24
test(reactivity): check for key in entries iteration ( #152 )
2019-10-08 11:00:20 -04:00
Alexander Zibert
4605f43b95
test(reactivity): fixed small copy & paste error ( #140 )
2019-10-06 20:18:47 -04:00
月迷津渡
5eacfaf210
fix(reactivity): explicitly do type conversions in warning strings ( #129 )
2019-10-06 11:26:33 -04:00
Rahul Kadyan
f58e5e96f2
types: Use unique symbol type for _isRef property of ref object ( #118 )
2019-10-05 22:32:50 -04:00
Vladimir
f48a2ffc76
chore: fix typos ( #103 )
2019-10-05 10:48:54 -04:00
Carlos Rodrigues
600ec5de42
chore: improve typings in reactivity tests ( #96 )
2019-10-05 10:39:40 -04:00
Evan You
46bd9dbab0
perf: avoid using WeakSet for isRef check
2019-09-30 14:52:10 -04:00
Evan You
98d1406214
test: test for app-level APIs
2019-09-03 18:11:04 -04:00
Evan You
62e07a1b7e
test: coverage
2019-08-27 14:42:05 -04:00
Evan You
7ecdc79d5e
test: finish tests for watch api
2019-08-27 11:35:22 -04:00
Evan You
cb3866890f
test: effect.onStop
2019-08-26 21:24:44 -04:00
Evan You
a0bc525fee
test: test for isRef & toRefs
2019-08-26 18:17:02 -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
e1bbfbba94
test: more test todos
2019-08-23 09:21:29 -04:00
Evan You
2777cd37b4
test: test immutable + ref
2019-08-21 12:03:35 -04:00
Evan You
0aff144f93
wip: improve computed typing + test for setters
2019-08-21 12:01:05 -04:00
Evan You
aacad85058
test: fix reactivity tests
2019-08-20 09:58:10 -04:00
Evan You
96d65e1ab5
wip: improve ref typing
2019-08-16 09:54:57 -04:00
Evan You
caba6d5c9e
wip: state -> reactive, value -> ref
2019-08-16 09:42:46 -04:00
Evan You
bfe6987323
refactor: adjust reactivity structure
2019-06-12 00:03:50 +08:00
Evan You
471899af8b
refactor: rename reactivity package name and APIs
2019-06-11 23:50:28 +08:00