universal.js — svelte Source File
Architecture documentation for universal.js, a javascript file in the svelte codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR c3b70c5c_4392_04e8_77c1_3cef97110727["universal.js"] 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"] c3b70c5c_4392_04e8_77c1_3cef97110727 --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb 7494b934_a3b8_689e_91b6_8435e26461c5["render_effect"] c3b70c5c_4392_04e8_77c1_3cef97110727 --> 7494b934_a3b8_689e_91b6_8435e26461c5 20340432_01a2_6741_abf4_60ccab51cdb3["teardown"] c3b70c5c_4392_04e8_77c1_3cef97110727 --> 20340432_01a2_6741_abf4_60ccab51cdb3 af7441d2_339a_2db1_88df_90dba2875c10["shared.js"] c3b70c5c_4392_04e8_77c1_3cef97110727 --> af7441d2_339a_2db1_88df_90dba2875c10 da178604_a1e6_1104_9d60_daf043f014c9["listen"] c3b70c5c_4392_04e8_77c1_3cef97110727 --> da178604_a1e6_1104_9d60_daf043f014c9 style c3b70c5c_4392_04e8_77c1_3cef97110727 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { render_effect, teardown } from '../../../reactivity/effects.js';
import { listen } from './shared.js';
/**
* @param {'innerHTML' | 'textContent' | 'innerText'} property
* @param {HTMLElement} element
* @param {() => unknown} get
* @param {(value: unknown) => void} set
* @returns {void}
*/
export function bind_content_editable(property, element, get, set = get) {
element.addEventListener('input', () => {
// @ts-ignore
set(element[property]);
});
render_effect(() => {
var value = get();
if (element[property] !== value) {
if (value == null) {
// @ts-ignore
var non_null_value = element[property];
set(non_null_value);
} else {
// @ts-ignore
element[property] = value + '';
}
}
});
}
/**
* @param {string} property
* @param {string} event_name
* @param {Element} element
* @param {(value: unknown) => void} set
* @param {() => unknown} [get]
* @returns {void}
*/
export function bind_property(property, event_name, element, set, get) {
var handler = () => {
// @ts-ignore
set(element[property]);
};
element.addEventListener(event_name, handler);
if (get) {
render_effect(() => {
// @ts-ignore
element[property] = get();
});
} else {
handler();
}
// @ts-ignore
if (element === document.body || element === window || element === document) {
teardown(() => {
element.removeEventListener(event_name, handler);
});
}
}
/**
* @param {HTMLElement} element
* @param {(value: unknown) => void} set
* @returns {void}
*/
export function bind_focused(element, set) {
listen(element, ['focus', 'blur'], () => {
set(element === document.activeElement);
});
}
Domain
Subdomains
Dependencies
Source
Frequently Asked Questions
What does universal.js do?
universal.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, Hydration subdomain.
What functions are defined in universal.js?
universal.js defines 3 function(s): bind_content_editable, bind_focused, bind_property.
What does universal.js depend on?
universal.js imports 5 module(s): effects.js, listen, render_effect, shared.js, teardown.
Where is universal.js in the architecture?
universal.js is located at packages/svelte/src/internal/client/dom/elements/bindings/universal.js (domain: ClientRuntime, subdomain: Hydration, directory: packages/svelte/src/internal/client/dom/elements/bindings).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free