Estou tentando fazer o projeto Svelte 5 (sei que ainda está em alfa, mas quero brincar um pouco com ele) e estou usando isso como modelo por enquanto
Meu aplicativo.svelte
<script>
import { withPrevSignals } from './withPrev'
const color = withPrevSignals('green')
let inputVal = $state('')
function save() {
color.curr = inputVal;
inputVal = ''
}
</script>
<p>Prev: {color.prev}</p>
<p>Curr: {color.curr}</p>
<input bind:value={inputVal} />
<button on:click={save}>Save</button>
<button on:click={color.undo}>Undo</button>
comPrev.js
export function withPrevSignals(initialValue) {
let curr = $state(initialValue)
let prev = $state(undefined)
function undo() {
curr = prev
prev = undefined
}
return {
get curr() { return curr },
set curr(newValue) {
prev = curr
curr = newValue
},
get prev() { return prev },
undo
}
}
Continuo recebendo um ReferenceError não capturado: $state não está definido tanto no playground svelte 5 quanto no local. O que estou fazendo de errado aqui?