address-range
v0.2.14
Published
```sh npm install --save address-range # or yarn add address-range ```
Downloads
396
Readme
address-range
Install
npm install --save address-range
# or
yarn add address-range
API
AddressRange
class AddressRange {
readonly startAddress: bigint
readonly endAddress: bigint
constructor(startAddress: bigint, endAddress: bigint)
includes(address: bigint): boolean
isSubSetOf(addressRange: AddressRange): boolean
hasIntersectionOf(addressRange: AddressRange): boolean
hasLeftIntersectionOf(addressRange: AddressRange): boolean
hasRightIntersectionOf(addressRange: AddressRange): boolean
toString(): string
}
IPv4AddressRange
class IPv4AddressRange extends AddressRange {
static from(startAddress: string, endAddress: string): IPv4AddressRange
static from(startAddress: string, hosts: number): IPv4AddressRange
includes(address: string): boolean
includes(address: bigint): boolean
toString(): string
}
IPv6AddressRange
class IPv6AddressRange extends AddressRange {
static from(startAddress: string, endAddress: string): IPv6AddressRange
static from(startAddress: string, hosts: number): IPv6AddressRange
includes(address: string): boolean
includes(address: bigint): boolean
toString(): string
}
concat
function concat<T extends AddressRange>(
ranges: T[]
, constructor: new (startAddress: bigint, endAddress: bigint) => T
): T[]
If the address ranges are concatenated at the beginning and end, concat the address ranges.
merge
function merge<T extends AddressRange>(
ranges: T[]
, constructor: new (startAddress: bigint, endAddress: bigint) => T
): T[]
If the address ranges have intersections, merge the address ranges.
removeSubsets
function removeSubsets<T extends AddressRange>(ranges: T[]): T[]
If the address range is a subset of another address range, remove the address range.
compress
function compress<T extends AddressRange>(
ranges: T[]
, constructor: new (startAddress: bigint, endAddress: bigint) => T
): T[]
Lossless compression of address ranges.
convertIPv4AddressBigIntToString
function convertIPv4AddressBigIntToString(address: bigint): string
convertIPv4AddressStringToBigInt
function convertIPv4AddressStringToBigInt(address: string): bigint
convertIPv6AddressBigIntToString
function convertIPv6AddressBigIntToString(address: bigint): string
convertIPv6AddressStringToBigInt
function convertIPv6AddressStringToBigInt(address: string): bigint