map.js — svelte Source File
Architecture documentation for map.js, a javascript file in the svelte codebase. 11 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR eb632f3e_6e0f_71bf_8ae3_df1fb779f36f["map.js"] e5c35d51_28d8_9054_923d_b7f82a3c8dc2["sources.js"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> e5c35d51_28d8_9054_923d_b7f82a3c8dc2 63ee8247_ada4_9f1d_e139_0c1167cd5b1c["set"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 63ee8247_ada4_9f1d_e139_0c1167cd5b1c 1e2f7428_6050_5cb7_69db_bf5db719f6d1["source"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 1e2f7428_6050_5cb7_69db_bf5db719f6d1 39208392_58c1_7201_b748_aa74d97cadb9["state"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 39208392_58c1_7201_b748_aa74d97cadb9 7602fc38_fab9_8955_83f0_8643d7c6c7a4["increment"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 7602fc38_fab9_8955_83f0_8643d7c6c7a4 2696eb67_452f_4c32_3e13_ee172192b366["tracing.js"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 2696eb67_452f_4c32_3e13_ee172192b366 d2a90b1f_8427_2d4f_9666_54818c307da5["label"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> d2a90b1f_8427_2d4f_9666_54818c307da5 4dfcf957_8573_ff55_bd31_4181227109e3["tag"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> 4dfcf957_8573_ff55_bd31_4181227109e3 bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> bde4209f_8ffc_1594_4024_b1835a44bcf6 a08b6cc5_af73_1be4_d02f_3113cf8a8305["get"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> a08b6cc5_af73_1be4_d02f_3113cf8a8305 c9866d91_a204_fa55_a9e3_6bcc6aaaec1e["esm-env"] eb632f3e_6e0f_71bf_8ae3_df1fb779f36f --> c9866d91_a204_fa55_a9e3_6bcc6aaaec1e df1c895a_6a70_d120_e792_7fee0a5c8582["map.test.ts"] df1c895a_6a70_d120_e792_7fee0a5c8582 --> eb632f3e_6e0f_71bf_8ae3_df1fb779f36f style eb632f3e_6e0f_71bf_8ae3_df1fb779f36f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { Source } from '#client' */
import { DEV } from 'esm-env';
import { set, source, state, increment } from '../internal/client/reactivity/sources.js';
import { label, tag } from '../internal/client/dev/tracing.js';
import { get, update_version } from '../internal/client/runtime.js';
/**
* A reactive version of the built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) object.
* Reading contents of the map (by iterating, or by reading `map.size` or calling `map.get(...)` or `map.has(...)` as in the [tic-tac-toe example](https://svelte.dev/playground/0b0ff4aa49c9443f9b47fe5203c78293) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)
* will cause it to be re-evaluated as necessary when the map is updated.
*
* Note that values in a reactive map are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).
*
* ```svelte
* <script>
* import { SvelteMap } from 'svelte/reactivity';
* import { result } from './game.js';
*
* let board = new SvelteMap();
* let player = $state('x');
* let winner = $derived(result(board));
*
* function reset() {
* player = 'x';
* board.clear();
* }
* </script>
*
* <div class="board">
* {#each Array(9), i}
* <button
* disabled={board.has(i) || winner}
* onclick={() => {
* board.set(i, player);
* player = player === 'x' ? 'o' : 'x';
* }}
* >{board.get(i)}</button>
* {/each}
* </div>
*
* {#if winner}
* <p>{winner} wins!</p>
* <button onclick={reset}>reset</button>
* {:else}
* <p>{player} is next</p>
* {/if}
* ```
*
* @template K
* @template V
* @extends {Map<K, V>}
*/
export class SvelteMap extends Map {
/** @type {Map<K, Source<number>>} */
#sources = new Map();
#version = state(0);
#size = state(0);
#update_version = update_version || -1;
/**
// ... (214 more lines)
Domain
Subdomains
Classes
Dependencies
Imported By
Source
Frequently Asked Questions
What does map.js do?
map.js is a source file in the svelte codebase, written in javascript. It belongs to the SharedInternal domain, BitFlags subdomain.
What does map.js depend on?
map.js imports 11 module(s): esm-env, get, increment, label, runtime.js, set, source, sources.js, and 3 more.
What files import map.js?
map.js is imported by 1 file(s): map.test.ts.
Where is map.js in the architecture?
map.js is located at packages/svelte/src/reactivity/map.js (domain: SharedInternal, subdomain: BitFlags, directory: packages/svelte/src/reactivity).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free