0
0
mirror of https://github.com/sveltejs/svelte.git synced 2024-11-29 00:22:05 +01:00
svelte/sites/svelte-5-preview
Rich Harris 75fc09a79e
Proxied state (#9739)
* magic objects

* read length eagerly — triggers reconciliation

* nested magic

* tests

* more tests

* fix array memory leak

* skipped, partially passing array test

* Fix each

revert bad changes

* more 1337

* eliminate closures

* maybe this is unnecessary?

* only create sources for own properties

* more

* rename stuff

* shuffle things around

* emit $.proxy

* remove proxy helper from public API

* only create sources for writable properties

* update test

* get tests passing

* fix

* remove state-not-mutated warning, which is no longer valid

* track reassignments separately from mutations

* update test - effects no longer fire on mutations unnecessarily

* move util into utils file

* move each logic into its own module; breathe sigh of relief

* tweaks

* more tweaks

* improve runtime

* fix mistake

* ensure we proxy when assigning to state

* fix test

* handle frozen

* create sources when reading proxy properties inside deriveds

* only mutate in legacy mode

* add immutable to transform state

* remove unused second argument to derived

* remove unused second argument to source, and runtime immutable option to createRoot (not sure what that was doing there?)

* oops, backwards

* dedicated binding.kind for legacy reactive imports

* avoid using prop_source in more cases. bit hacky, could be tidier, but it works

* distinguish between source and mutable_source

* remove immutable option from mount

* remove unused apparatus around immutable option

* deprecate immutable

* fix

* tweak

* better default value handling

* remove unnecessary exports

* whitespace is free

* remove obsolete symbol from proxy

* cleanup ts

* improve runtime perf by removing version reads in has()

* add missing proxy call

* tune perf of has() more

* ensure we only create sources in effect_active()

* fix proxy of computed fields

* simplify and fix issue with indexed each blocks

* fix compiler errors around exported state

* only create source for state that is reassigned

* temporary fix, we should come up with something better than this

* readonly props

* fix test

* add test for bind:

* make readonly dev-only

* docs

* forbid setPrototypeOf

* lol whoops

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Dominic Gannaway <dg@domgan.com>
2023-12-04 14:35:46 -05:00
..
src Proxied state (#9739) 2023-12-04 14:35:46 -05:00
static fix symlink (hopefully) (#9383) 2023-11-10 17:47:48 +01:00
.gitignore
jsconfig.json
package.json chore: bump esrap (#9649) 2023-11-25 17:29:18 -05:00
svelte.config.js
vercel.json
vite.config.js