vue3-yuanma/packages/reactivity
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
..
__tests__ chore: fix typos (#1090) 2020-05-01 09:42:58 -04:00
src refactor(reactivity): use more efficient reactive checks 2020-05-02 16:58:17 -04:00
api-extractor.json refactor(types): mark internal API exports and exclude from d.ts 2020-04-30 17:04:35 -04:00
index.js fix: fix reactivity cjs entry 2019-09-14 11:26:53 -04:00
LICENSE chore: license 2019-10-28 11:15:17 -04:00
package.json release: v3.0.0-beta.6 2020-05-01 18:56:53 -04:00
README.md chore: update README.md (#592) [ci skip] 2020-01-07 13:19:54 -05:00

@vue/reactivity

Usage Note

This package is inlined into Global & Browser ESM builds of user-facing renderers (e.g. @vue/runtime-dom), but also published as a package that can be used standalone. The standalone build should not be used alongside a pre-bundled build of a user-facing renderer, as they will have different internal storage for reactivity connections. A user-facing renderer should re-export all APIs from this package.

For full exposed APIs, see src/index.ts. You can also run yarn build reactivity --types from repo root, which will generate an API report at temp/reactivity.api.md.

Credits

The implementation of this module is inspired by the following prior art in the JavaScript ecosystem:

Caveats

  • Built-in objects are not observed except for Array, Map, WeakMap, Set and WeakSet.