function classifyAddress
classifyAddress(address: number): ClassifiedAddressv4

Classifies an IPv4 address into its well-known range.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { classifyAddress } from "@hertzg/ip/classify";
import { parseAddressv4 } from "@hertzg/ip/addressv4";

const result = classifyAddress(parseAddressv4("192.168.1.1").address);
assertEquals(result.kind, "ipv4");
assertEquals(result.value, 3232235777);
assertEquals(result.classification, "private");

Parameters

address: number

The address as a 32-bit unsigned integer

Return Type

A ClassifiedAddressv4 with kind, value, and classification

classifyAddress(address: bigint): ClassifiedAddressv6

Classifies an IPv6 address into its well-known range.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { classifyAddress } from "@hertzg/ip/classify";
import { parseAddressv6 } from "@hertzg/ip/addressv6";

const result = classifyAddress(parseAddressv6("fd00::1").address);
assertEquals(result.kind, "ipv6");
assertEquals(result.classification, "unique-local");

Parameters

address: bigint

The address as a 128-bit bigint

Return Type

A ClassifiedAddressv6 with kind, value, and classification

classifyAddress(address: string): ClassifiedAddress

Parses an IP address string and classifies it into its well-known range.

The string is parsed using parseAddress to detect IPv4 vs IPv6, then classified accordingly.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { classifyAddress } from "@hertzg/ip/classify";

const v4 = classifyAddress("192.168.1.1");
assertEquals(v4.kind, "ipv4");
assertEquals(v4.classification, "private");

const v6 = classifyAddress("::1");
assertEquals(v6.kind, "ipv6");
assertEquals(v6.classification, "loopback");

Parameters

address: string

The address string in dotted decimal or colon-hexadecimal notation

Return Type

A ClassifiedAddress with kind, value, and classification

Throws

TypeError

If the string is not a valid IP address

RangeError

If values are out of range

classifyAddress(address: Address): ClassifiedAddress

Classifies an IPv4 or IPv6 address into its well-known range.

This overload accepts an Address, which is the return type of parseAddress. At runtime, the address is dispatched to the version-specific classifier based on its type.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { classifyAddress } from "@hertzg/ip/classify";
import { parseAddress } from "@hertzg/ip/address";

const result = classifyAddress(parseAddress("127.0.0.1").address);
assertEquals(result.kind, "ipv4");
assertEquals(result.classification, "loopback");

Parameters

address: Address

The address as a number (IPv4) or bigint (IPv6)

Return Type

A ClassifiedAddress with kind, value, and classification