Install
npm install ip-cidr
About
Module for working with CIDR (v4, v6). Based on ip-address
Example
; let cidr = "50.165.190.0/23"; if!cidr // something cidrstart; // get start ip as stringcidr; // get end ip as big integer let data = ; const fn = { // do something with each element of CIDR range data // ip is "ip-address" module object, because of option asAddressObject is true } cidr;cidr; // get an array of all ip in CIDR range as big integer;cidr; // get an array of start and end ip as string [startIpAsString, endIpAsString]
Client side
Load /dist/ip-cidr.js as script and get the library in window.IPCIDR
API
.formatIP(address, [options])
returns "ip-address" module object in the necessary format
options are the same in all of the library functions and might include asBigInteger, asAddressObject or asString (by default)
.start([options])
get start ip
.end([options])
get end ip
.toString()
get string cidr as "50.165.190.0/23"
.toRange([options])
get an array of start and end ip [startIp, endIp]
.toObject([options])
get an object of start and end ip {start: startIp, end: endIp}
.toArray([options], [results])
get an array of all ip in CIDR range
you can get an information by chunks using options.from and options.limit
this 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
.arrayAction(fn, [options], [results])
run fn for every element of CIDR range
you can use the same chunk options as in .toArray