UNPKG

svelte

Version:

Cybernetically enhanced web apps

25 lines (21 loc) 392 B
import { createSubscriber } from './create-subscriber.js'; /** * @template T */ export class ReactiveValue { #fn; #subscribe; /** * * @param {() => T} fn * @param {(update: () => void) => void} onsubscribe */ constructor(fn, onsubscribe) { this.#fn = fn; this.#subscribe = createSubscriber(onsubscribe); } get current() { this.#subscribe(); return this.#fn(); } }