Home / Function/ levenshtein() — svelte Function Reference

levenshtein() — svelte Function Reference

Architecture documentation for the levenshtein() function in fuzzymatch.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  72234992_9bc4_2819_4c39_34f3d2ab4fbf["levenshtein()"]
  4057eb45_ab28_d989_1209_dfae45d590c0["fuzzymatch.js"]
  72234992_9bc4_2819_4c39_34f3d2ab4fbf -->|defined in| 4057eb45_ab28_d989_1209_dfae45d590c0
  041d8deb_5d75_ff21_5824_d6e07a3867e4["_distance()"]
  041d8deb_5d75_ff21_5824_d6e07a3867e4 -->|calls| 72234992_9bc4_2819_4c39_34f3d2ab4fbf
  style 72234992_9bc4_2819_4c39_34f3d2ab4fbf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/1-parse/utils/fuzzymatch.js lines 45–70

function levenshtein(str1, str2) {
	/** @type {number[]} */
	const current = [];
	let prev = 0;

	for (let i = 0; i <= str2.length; i++) {
		for (let j = 0; j <= str1.length; j++) {
			let value;

			if (i && j) {
				if (str1.charAt(j - 1) === str2.charAt(i - 1)) {
					value = prev;
				} else {
					value = Math.min(current[j], current[j - 1], prev) + 1;
				}
			} else {
				value = i + j;
			}

			prev = current[j];
			current[j] = value;
		}
	}

	return /** @type {number} */ (current.pop());
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does levenshtein() do?
levenshtein() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/1-parse/utils/fuzzymatch.js.
Where is levenshtein() defined?
levenshtein() is defined in packages/svelte/src/compiler/phases/1-parse/utils/fuzzymatch.js at line 45.
What calls levenshtein()?
levenshtein() is called by 1 function(s): _distance.

Analyze Your Own Codebase

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

Try Supermodel Free