Home / Function/ remove_input_defaults() — svelte Function Reference

remove_input_defaults() — svelte Function Reference

Architecture documentation for the remove_input_defaults() function in attributes.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  12da86e1_c608_1c76_660b_570e483dc67a["remove_input_defaults()"]
  0acd2537_e1bf_d7ae_30d5_407378cfa4d3["attributes.js"]
  12da86e1_c608_1c76_660b_570e483dc67a -->|defined in| 0acd2537_e1bf_d7ae_30d5_407378cfa4d3
  4c70ef10_16f1_40f4_1d51_8a7169bd1dba["set_attributes()"]
  4c70ef10_16f1_40f4_1d51_8a7169bd1dba -->|calls| 12da86e1_c608_1c76_660b_570e483dc67a
  a305388e_cd72_059e_c54e_36001ca30e0a["set_attribute()"]
  12da86e1_c608_1c76_660b_570e483dc67a -->|calls| a305388e_cd72_059e_c54e_36001ca30e0a
  2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task()"]
  12da86e1_c608_1c76_660b_570e483dc67a -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702
  f331da79_3d16_9f30_3a8b_0b6cd7a6de51["add_form_reset_listener()"]
  12da86e1_c608_1c76_660b_570e483dc67a -->|calls| f331da79_3d16_9f30_3a8b_0b6cd7a6de51
  style 12da86e1_c608_1c76_660b_570e483dc67a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/internal/client/dom/elements/attributes.js lines 39–70

export function remove_input_defaults(input) {
	if (!hydrating) return;

	var already_removed = false;

	// We try and remove the default attributes later, rather than sync during hydration.
	// Doing it sync during hydration has a negative impact on performance, but deferring the
	// work in an idle task alleviates this greatly. If a form reset event comes in before
	// the idle callback, then we ensure the input defaults are cleared just before.
	var remove_defaults = () => {
		if (already_removed) return;
		already_removed = true;

		// Remove the attributes but preserve the values
		if (input.hasAttribute('value')) {
			var value = input.value;
			set_attribute(input, 'value', null);
			input.value = value;
		}

		if (input.hasAttribute('checked')) {
			var checked = input.checked;
			set_attribute(input, 'checked', null);
			input.checked = checked;
		}
	};

	// @ts-expect-error
	input.__on_r = remove_defaults;
	queue_micro_task(remove_defaults);
	add_form_reset_listener();
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does remove_input_defaults() do?
remove_input_defaults() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/dom/elements/attributes.js.
Where is remove_input_defaults() defined?
remove_input_defaults() is defined in packages/svelte/src/internal/client/dom/elements/attributes.js at line 39.
What does remove_input_defaults() call?
remove_input_defaults() calls 3 function(s): add_form_reset_listener, queue_micro_task, set_attribute.
What calls remove_input_defaults()?
remove_input_defaults() is called by 1 function(s): set_attributes.

Analyze Your Own Codebase

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

Try Supermodel Free