Home / File/ index-server.js — svelte Source File

index-server.js — svelte Source File

Architecture documentation for index-server.js, a javascript file in the svelte codebase. 3 imports, 0 dependents.

File javascript SharedInternal DOMUtils 3 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  2bdbc2e5_a0d9_6f47_66f9_fca27e2bedfd["index-server.js"]
  b874f390_a6ee_7d84_7151_b2b77f0388d5["index.js"]
  2bdbc2e5_a0d9_6f47_66f9_fca27e2bedfd --> b874f390_a6ee_7d84_7151_b2b77f0388d5
  4cf4c423_76ea_40eb_1692_69aae30c30f1["get"]
  2bdbc2e5_a0d9_6f47_66f9_fca27e2bedfd --> 4cf4c423_76ea_40eb_1692_69aae30c30f1
  ba16ff3e_8a18_d3c4_15e9_96304b539f51["writable"]
  2bdbc2e5_a0d9_6f47_66f9_fca27e2bedfd --> ba16ff3e_8a18_d3c4_15e9_96304b539f51
  style 2bdbc2e5_a0d9_6f47_66f9_fca27e2bedfd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @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);
		}
	};
}

Subdomains

Dependencies

Frequently Asked Questions

What does index-server.js do?
index-server.js is a source file in the svelte codebase, written in javascript. It belongs to the SharedInternal domain, DOMUtils subdomain.
What functions are defined in index-server.js?
index-server.js defines 2 function(s): fromStore, toStore.
What does index-server.js depend on?
index-server.js imports 3 module(s): get, index.js, writable.
Where is index-server.js in the architecture?
index-server.js is located at packages/svelte/src/store/index-server.js (domain: SharedInternal, subdomain: DOMUtils, directory: packages/svelte/src/store).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free