Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /** @import { Readable, Writable } from './public.js' */ import { get, writable } from './shared/index.js'; export { derived, get, readable, readonly, writable } from './shared/index.js'; /** * @template V * @overload * @param {() => V} get * @param {(v: V) => void} set * @returns {Writable<V>} */ /** * @template V * @overload * @param {() => V} get * @returns {Readable<V>} */ /** * Create a store from a function that returns state, and (to make a writable store), an * optional second function that sets state. * * ```ts * import { toStore } from 'svelte/store'; * * let count = $state(0); * * const store = toStore(() => count, (v) => (count = v)); * ``` * @template V * @param {() => V} get * @param {(v: V) => void} [set] * @returns {Writable<V> | Readable<V>} */ export function toStore(get, set) { const store = writable(get()); if (set) { return { set, update: (fn) => set(fn(get())), subscribe: store.subscribe }; } return { subscribe: store.subscribe }; } /** * @template V * @overload * @param {Writable<V>} store * @returns {{ current: V }} */ /** * @template V * @overload * @param {Readable<V>} store * @returns {{ readonly current: V }} */ /** * Convert a store to an object with a reactive `current` property. If `store` * is a readable store, `current` will be a readonly property. * * ```ts * import { fromStore, get, writable } from 'svelte/store'; * * const store = writable(0); * * const count = fromStore(store); * * count.current; // 0; * store.set(1); * count.current; // 1 * * count.current += 1; * get(store); // 2 * ``` * @template V * @param {Writable<V> | Readable<V>} store */ export function fromStore(store) { if ('set' in store) { return { get current() { return get(store); }, set current(v) { store.set(v); } }; } return { get current() { return get(store); } }; } |