cidrSubtract<T extends Cidr>(): (T extends Cidrv4 ? Cidrv4 : Cidrv6)[]
Subtracts one CIDR block from another.
Dispatches to cidrv4Subtract or cidrv6Subtract based on the address type. Throws TypeError when mixing IPv4 and IPv6 CIDRs. The result matches the dialect of the inputs, and is masked when they disagree (ADR 0006).
IPv4 subtraction
IPv4 subtraction
import { assertEquals } from "@std/assert"; import { cidrSubtract, parseCidr, stringifyCidr } from "@hertzg/ip/cidr"; const result = cidrSubtract(parseCidr("10.0.0.0/24"), parseCidr("172.16.0.0/24")); assertEquals(result.map((c) => stringifyCidr(c)), ["10.0.0.0/24"]);
T extends Cidr