Package Exports
- ip-cidr
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ip-cidr) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Install
npm install ip-cidr
About
Module for working with CIDR (v4, v6). Based on ip-address.
Example
const IPCIDR = require("ip-cidr");
const cidr = new IPCIDR("50.165.190.0/23");
if(!cidr.isValid()) {
throw new Error('CIDR is invalid');
}
// get start ip address as a string
cidr.start();
// get end ip address as a big integer
cidr.end({ type: "bigInteger" });
// do something with each element of the range
cidr.loop(ip => console.log(ip), { type: "addressObject" });
// get an array of all ip addresses in the range as a big integer;
cidr.toArray({ type: "bigInteger" });
// get an array of start and end ip addresses as a string [startIpAsString, endIpAsString]
cidr.toRange(); Client side
Load /dist/ip-cidr.js as a script and you can get the library in window.IPCIDR
API
.formatIP(address, [options])
to return an "ip-address" module object in the necessary format
.contains(address)
to check the address belongs to the range
.start([options])
to get the start ip adress
.end([options])
to get the end ip address
.toString()
to convert the cidr to a string like "50.165.190.0/23"
.toRange([options])
to convert the cidr to an array with start and end ip addresses [startIp, endIp]
.toObject([options])
to convert the cidr to an object with start and end ip addresses {start: startIp, end: endIp}
.toArray([options], [results])
to convert the cidr to an array with all ip addresses in the range
you can get information by chunks using options.from and options.limit
the options might be an integer or a big integer("jsbn" instance)
you can pass the second argument "results" (object) to get all chunk pagination information
.loop(fn, [options], [results])
to run fn for each element of the range
you can use the same chunk options as in .toArray()