utils.ts — drizzle-orm Source File
Architecture documentation for utils.ts, a typescript file in the drizzle-orm codebase. 0 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 2fd88d3d_d232_1908_a500_f72815cd371a["utils.ts"] 22ef1bda_02be_c80a_be3e_7a9614a5f2f9["geometry.ts"] 22ef1bda_02be_c80a_be3e_7a9614a5f2f9 --> 2fd88d3d_d232_1908_a500_f72815cd371a style 2fd88d3d_d232_1908_a500_f72815cd371a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
function hexToBytes(hex: string): Uint8Array {
const bytes: number[] = [];
for (let c = 0; c < hex.length; c += 2) {
bytes.push(Number.parseInt(hex.slice(c, c + 2), 16));
}
return new Uint8Array(bytes);
}
function bytesToFloat64(bytes: Uint8Array, offset: number): number {
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
for (let i = 0; i < 8; i++) {
view.setUint8(i, bytes[offset + i]!);
}
return view.getFloat64(0, true);
}
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
Functions
Source
Frequently Asked Questions
What does utils.ts do?
utils.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in utils.ts?
utils.ts defines 3 function(s): bytesToFloat64, hexToBytes, parseEWKB.
What files import utils.ts?
utils.ts is imported by 1 file(s): geometry.ts.
Where is utils.ts in the architecture?
utils.ts is located at drizzle-orm/src/pg-core/columns/postgis_extension/utils.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: drizzle-orm/src/pg-core/columns/postgis_extension).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free