Convert IPv4 and IPv6 addresses to and from BigInt
npm install ip-bigint> Convert IPv4 and IPv6 addresses to and from BigInt
``js
import {parseIp, stringifyIp, normalizeIp} from "ip-bigint";
const parsedIp = parseIp("2001:db8::");
// => {number: 42540766411282592856903984951653826560n, version: 6}
stringifyIp(parsedIp);
// => "2001:db8::"
normalizeIp("2001:db8::0:0:1");
// => "2001:db8::1"
`
Parse a IP address string to a ParsedIp object.
For IPv4 returns {number, version}.{number, version, [ipv4mapped], [scopeid]}
For IPv6 returns .
There is only rudimentary validation that the passed string is actually an IP address. You are encouraged to validate yourself using modules like ip-regex.
Convert a ParsedIp object back to an IP address string.
opts: Options StringifyOptscompress
- : boolean - Whether to compress the IP. For IPv6, this means the "best representation" all-lowercase shortest possible form. Default: true.hexify
- : boolean - Whether to convert IPv4-Mapped IPv6 addresses to hex. Default: false.
Round-trip an IP address through parseIp and stringifyIp, effectively normalizing its representation.
opts: Options StringifyOptscompress
- : boolean - Whether to compress the IP. For IPv6, this means the "best representation" all-lowercase shortest possible form. Default: true.hexify
- : boolean - Whether to convert IPv4-Mapped IPv6 addresses to hex. Default: false.
A bigint value that holds the biggest possible IPv4 address.
A bigint` value that holds the biggest possible IPv6 address.
Returns a integer of the IP version, 4, 6 or 0 if it's not an IP. Very rudimentary and should not be used for validation.
- ip-regex - Regular expression for matching IP addresses
- is-cidr - Check if a string is an IP address in CIDR notation
- is-ip - Check if a string is an IP address
- cidr-regex - Check if a string is an IP address in CIDR notation
- cidr-tools - Tools to work with IPv4 and IPv6 CIDR network lists
© silverwind, distributed under BSD licence