classifyAddressv6(address: bigint): Classificationv6
Classifies an IPv6 address into its well-known range.
Returns the most specific classification label for the given address.
For overlapping ranges (e.g., 2001:db8::/32 within 2001::/32 within
2000::/3), the most specific match is returned.
Example 1
Example 1
import { assertEquals } from "@std/assert"; import { classifyAddressv6 } from "@hertzg/ip/classifyv6"; import { parseAddressv6 } from "@hertzg/ip/addressv6"; assertEquals(classifyAddressv6(parseAddressv6("::1").address), "loopback"); assertEquals(classifyAddressv6(parseAddressv6("::").address), "unspecified"); assertEquals(classifyAddressv6(parseAddressv6("fe80::1").address), "link-local"); assertEquals(classifyAddressv6(parseAddressv6("ff02::1").address), "multicast"); assertEquals(classifyAddressv6(parseAddressv6("fd00::1").address), "unique-local"); assertEquals(classifyAddressv6(parseAddressv6("2001:db8::1").address), "documentation"); assertEquals(classifyAddressv6(parseAddressv6("2001:2::1").address), "benchmarking"); assertEquals(classifyAddressv6(parseAddressv6("2001:20::1").address), "orchidv2"); assertEquals(classifyAddressv6(parseAddressv6("2001::1").address), "teredo"); assertEquals(classifyAddressv6(parseAddressv6("::ffff:192.168.1.1").address), "ipv4-mapped"); assertEquals(classifyAddressv6(parseAddressv6("64:ff9b::1").address), "ipv4-translated"); assertEquals(classifyAddressv6(parseAddressv6("2607:f8b0:4004:800::200e").address), "global-unicast");
The classification label