shuffle things around

proxied-state-each-blocks
Rich Harris 9 months ago committed by Dominic Gannaway
parent fb6043e03f
commit 39214edb0e

@ -1,6 +1,6 @@
import { effect_active, get, set, increment, source } from './runtime.js';
/** @typedef {{ p: StateObject | null; s: Map<string | symbol, import('./types').SourceSignal<any>>; v: import('./types').SourceSignal<number>; a: boolean }} Metadata */
/** @typedef {{ p: StateObject | null; s: Map<string | symbol, import('./types.js').SourceSignal<any>>; v: import('./types.js').SourceSignal<number>; a: boolean }} Metadata */
/** @typedef {Record<string | symbol, any> & { [STATE_SYMBOL]: Metadata }} StateObject */
export const STATE_SYMBOL = Symbol();
@ -15,7 +15,7 @@ const get_prototype_of = Object.getPrototypeOf;
* @param {T} value
* @returns {T}
*/
export function magic(value) {
export function proxy(value) {
return wrap(value, null);
}

@ -13,7 +13,7 @@ import {
EACH_IS_PROXIED,
EACH_ITEM_REACTIVE
} from '../../constants.js';
import { STATE_SYMBOL } from './magic.js';
import { STATE_SYMBOL } from './proxy.js';
const NEW_BLOCK = -1;
const MOVED_BLOCK = 99999999;

@ -58,4 +58,4 @@ export {
export { raf } from './client/timing.js';
export { magic } from './client/magic.js';
export { proxy } from './client/proxy.js';

@ -262,5 +262,5 @@ export {
tick,
untrack,
onDestroy,
magic
proxy
} from '../internal/index.js';

@ -1,7 +1,7 @@
<script>
import { magic } from 'svelte';
import { proxy } from 'svelte';
const object = magic({ count: 0 });
const object = proxy({ count: 0 });
</script>
<button onclick={() => object.count += 1}>

@ -1,7 +1,7 @@
<script>
import { magic } from 'svelte';
import { proxy } from 'svelte';
const array = magic([1, 2, 3]);
const array = proxy([1, 2, 3]);
const sum = $derived(array.reduce((a, b) => a + b, 0));
</script>

@ -1,7 +1,7 @@
<script>
import { magic } from 'svelte';
import { proxy } from 'svelte';
const ping = magic({});
const ping = proxy({});
ping.pong = { ping, pang: 'hello!' };
</script>

@ -1,7 +1,7 @@
<script>
import { magic } from 'svelte';
import { proxy } from 'svelte';
const object = magic({
const object = proxy({
foo: {
bar: {
baz: 1

@ -1,11 +1,11 @@
<script>
import { magic } from 'svelte';
import { proxy } from 'svelte';
const inner = magic({
const inner = proxy({
count: 0
})
const object = magic({
const object = proxy({
outer: {
inner
}
Loading…
Cancel
Save