Home / Function/ parseEWKB() — drizzle-orm Function Reference

parseEWKB() — drizzle-orm Function Reference

Architecture documentation for the parseEWKB() function in utils.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  7148fb50_625b_76f3_0dcf_98a75f034468["parseEWKB()"]
  2fd88d3d_d232_1908_a500_f72815cd371a["utils.ts"]
  7148fb50_625b_76f3_0dcf_98a75f034468 -->|defined in| 2fd88d3d_d232_1908_a500_f72815cd371a
  d15e00bf_1c0a_5e92_cdff_9f2f6d51c046["mapFromDriverValue()"]
  d15e00bf_1c0a_5e92_cdff_9f2f6d51c046 -->|calls| 7148fb50_625b_76f3_0dcf_98a75f034468
  e10f15db_f6a7_4146_e5f6_c8111075226e["mapFromDriverValue()"]
  e10f15db_f6a7_4146_e5f6_c8111075226e -->|calls| 7148fb50_625b_76f3_0dcf_98a75f034468
  53a2a193_db67_0553_2b1d_c0519cccd206["hexToBytes()"]
  7148fb50_625b_76f3_0dcf_98a75f034468 -->|calls| 53a2a193_db67_0553_2b1d_c0519cccd206
  8f3de679_5817_673a_8fc4_8a243c5d27e2["bytesToFloat64()"]
  7148fb50_625b_76f3_0dcf_98a75f034468 -->|calls| 8f3de679_5817_673a_8fc4_8a243c5d27e2
  style 7148fb50_625b_76f3_0dcf_98a75f034468 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/pg-core/columns/postgis_extension/utils.ts lines 18–47

export function parseEWKB(hex: string): [number, number] {
	const bytes = hexToBytes(hex);

	let offset = 0;

	// Byte order: 1 is little-endian, 0 is big-endian
	const byteOrder = bytes[offset];
	offset += 1;

	const view = new DataView(bytes.buffer);
	const geomType = view.getUint32(offset, byteOrder === 1);
	offset += 4;

	let _srid: number | undefined;
	if (geomType & 0x20000000) { // SRID flag
		_srid = view.getUint32(offset, byteOrder === 1);
		offset += 4;
	}

	if ((geomType & 0xFFFF) === 1) {
		const x = bytesToFloat64(bytes, offset);
		offset += 8;
		const y = bytesToFloat64(bytes, offset);
		offset += 8;

		return [x, y];
	}

	throw new Error('Unsupported geometry type');
}

Domain

Subdomains

Frequently Asked Questions

What does parseEWKB() do?
parseEWKB() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/columns/postgis_extension/utils.ts.
Where is parseEWKB() defined?
parseEWKB() is defined in drizzle-orm/src/pg-core/columns/postgis_extension/utils.ts at line 18.
What does parseEWKB() call?
parseEWKB() calls 2 function(s): bytesToFloat64, hexToBytes.
What calls parseEWKB()?
parseEWKB() is called by 2 function(s): mapFromDriverValue, mapFromDriverValue.

Analyze Your Own Codebase

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

Try Supermodel Free