classifyAddressv4(address: number): Classificationv4
Classifies an IPv4 address into its well-known range.
Returns the most specific classification label for the given address. Every valid 32-bit unsigned integer maps to exactly one classification.
Example 1
Example 1
import { assertEquals } from "@std/assert"; import { classifyAddressv4 } from "@hertzg/ip/classifyv4"; import { parseAddressv4 } from "@hertzg/ip/addressv4"; assertEquals(classifyAddressv4(parseAddressv4("192.168.1.1").address), "private"); assertEquals(classifyAddressv4(parseAddressv4("8.8.8.8").address), "public"); assertEquals(classifyAddressv4(parseAddressv4("127.0.0.1").address), "loopback"); assertEquals(classifyAddressv4(parseAddressv4("169.254.1.1").address), "link-local"); assertEquals(classifyAddressv4(parseAddressv4("224.0.0.1").address), "multicast"); assertEquals(classifyAddressv4(parseAddressv4("255.255.255.255").address), "broadcast"); assertEquals(classifyAddressv4(parseAddressv4("0.0.0.0").address), "this-network"); assertEquals(classifyAddressv4(parseAddressv4("100.64.0.1").address), "cg-nat"); assertEquals(classifyAddressv4(parseAddressv4("198.18.0.1").address), "benchmarking"); assertEquals(classifyAddressv4(parseAddressv4("192.0.2.1").address), "documentation"); assertEquals(classifyAddressv4(parseAddressv4("240.0.0.0").address), "reserved");
The classification label