cidrv6Mask(prefixLength: PrefixLengthv6): Maskv6
Creates a network mask from an IPv6 prefix length.
The prefix length must be between 0 and 128 (inclusive).
Creating masks
Creating masks
import { assertEquals } from "@std/assert"; import { cidrv6Mask } from "@hertzg/ip/cidrv6"; assertEquals(cidrv6Mask(128), 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFn); assertEquals(cidrv6Mask(64), 0xFFFFFFFFFFFFFFFF0000000000000000n); assertEquals(cidrv6Mask(48), 0xFFFFFFFFFFFF00000000000000000000n); assertEquals(cidrv6Mask(32), 0xFFFFFFFF000000000000000000000000n); assertEquals(cidrv6Mask(0), 0n);
prefixLength: PrefixLengthv6
The CIDR prefix length (0-128)
The network mask as a bigint
cidrv6Mask(cidr: Cidrv6): Maskv6
Returns the network mask of an IPv6 CIDR block.
A MaskedCidrv6 gives back the mask it stores, as is; a
PrefixedCidrv6 has its prefix length looked up. Total over every
block, which is what lets every cidrv6* operation go through it; the
inverse, cidrv6PrefixLength, is the partial one.
Both dialects yield the same mask
Both dialects yield the same mask
import { assertEquals } from "@std/assert"; import { cidrv6Mask, parseCidrv6 } from "@hertzg/ip/cidrv6"; const mask = 0xFFFFFFFF000000000000000000000000n; assertEquals(cidrv6Mask(parseCidrv6("2001:db8::/32")), mask); assertEquals(cidrv6Mask({ address: 0x20010db8n << 96n, mask }), mask);
cidr: Cidrv6
The CIDR block
The network mask as a bigint
cidrv6Mask(cidrOrPrefixLength: Cidrv6 | PrefixLengthv6): Maskv6
Returns the network mask of an IPv6 CIDR block or prefix length.
cidrOrPrefixLength: Cidrv6 | PrefixLengthv6
A Cidrv6 block or a prefix length (0-128)
The network mask as a bigint