Home / Function/ getLineOffsets() — astro Function Reference

getLineOffsets() — astro Function Reference

Architecture documentation for the getLineOffsets() function in utils.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  d8849cd9_ed6a_f4bb_959f_98a475c3e22e["getLineOffsets()"]
  a37e7fee_e130_2a00_6f99_81cf3cf65c83["utils.ts"]
  d8849cd9_ed6a_f4bb_959f_98a475c3e22e -->|defined in| a37e7fee_e130_2a00_6f99_81cf3cf65c83
  b70271ae_4018_71fe_f092_f1b7ce0476d7["positionAt()"]
  b70271ae_4018_71fe_f092_f1b7ce0476d7 -->|calls| d8849cd9_ed6a_f4bb_959f_98a475c3e22e
  style d8849cd9_ed6a_f4bb_959f_98a475c3e22e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/core/errors/utils.ts lines 52–73

function getLineOffsets(text: string) {
	const lineOffsets = [];
	let isLineStart = true;

	for (let i = 0; i < text.length; i++) {
		if (isLineStart) {
			lineOffsets.push(i);
			isLineStart = false;
		}
		const ch = text.charAt(i);
		isLineStart = ch === '\r' || ch === '\n';
		if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') {
			i++;
		}
	}

	if (isLineStart && text.length > 0) {
		lineOffsets.push(text.length);
	}

	return lineOffsets;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does getLineOffsets() do?
getLineOffsets() is a function in the astro codebase, defined in packages/astro/src/core/errors/utils.ts.
Where is getLineOffsets() defined?
getLineOffsets() is defined in packages/astro/src/core/errors/utils.ts at line 52.
What calls getLineOffsets()?
getLineOffsets() is called by 1 function(s): positionAt.

Analyze Your Own Codebase

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

Try Supermodel Free