Skip to main content

@terascope/ip-utils / utils/cidr-block / CIDRBlock

Class: CIDRBlock

Defined in: utils/cidr-block.ts:18

Properties​

PropertyModifierTypeDefined in
versionreadonly4 | 6utils/cidr-block.ts:22

Methods​

address()​

address(): IPAddress

Defined in: utils/cidr-block.ts:131

The original input address (may differ from network address).

Returns​

IPAddress


broadcast()​

broadcast(): IPAddress

Defined in: utils/cidr-block.ts:182

IPv4 broadcast address (last IP in block). Throws for IPv6 CIDRs.

Returns​

IPAddress


contains()​

contains(input): boolean

Defined in: utils/cidr-block.ts:208

Returns true if the given IP is within this CIDR block. The IP version must match the CIDR version exactly.

Parameters​

ParameterType
inputstring | IPAddress

Returns​

boolean


first()​

first(): IPAddress

Defined in: utils/cidr-block.ts:136

Network address — first IP in block (all host bits 0).

Returns​

IPAddress


firstUsable()​

firstUsable(): IPAddress

Defined in: utils/cidr-block.ts:154

First usable host address. IPv4: network + 1, except /32 (single host). IPv6: network + 1, except /128 (single host).

Returns​

IPAddress


last()​

last(): IPAddress

Defined in: utils/cidr-block.ts:141

Last IP in block (all host bits 1).

Returns​

IPAddress


lastUsable()​

lastUsable(): IPAddress

Defined in: utils/cidr-block.ts:168

Last usable host address. IPv4: broadcast - 1, except /32 (returns broadcast). IPv6: same as last (no broadcast concept).

Returns​

IPAddress


network()​

network(): IPAddress

Defined in: utils/cidr-block.ts:194

IPv4 network address (first IP in block). Throws for IPv6 CIDRs.

Returns​

IPAddress


toString()​

toString(): string

Defined in: utils/cidr-block.ts:126

Returns​

string


enclosing()​

static enclosing(ip1, ip2): CIDRBlock

Defined in: utils/cidr-block.ts:68

Return the smallest CIDR block that encloses both IP addresses. Both IPs must be the same version.

NOTE: The result is network-aligned and may extend beyond the input IPs. For example, enclosing(192.198.0.1, 192.198.0.254) → 192.198.0.0/24, which includes 192.198.0.0 and 192.198.0.255. This is a CIDR/routing operation — use IPRange for arbitrary range containment checks.

Parameters​

ParameterType
ip1IPAddress
ip2IPAddress

Returns​

CIDRBlock


from()​

static from(ip, prefix): CIDRBlock

Defined in: utils/cidr-block.ts:47

Build a CIDRBlock from an IPAddress and prefix length.

Parameters​

ParameterType
ipIPAddress
prefixnumber

Returns​

CIDRBlock


isCidr()​

static isCidr(input): 0 | 4 | 6

Defined in: utils/cidr-block.ts:113

Parameters​

ParameterType
inputstring

Returns​

0 | 4 | 6


isValid()​

static isValid(input): input is string

Defined in: utils/cidr-block.ts:108

Parameters​

ParameterType
inputunknown

Returns​

input is string


of()​

static of(cidr): CIDRBlock

Defined in: utils/cidr-block.ts:36

Parse "a.b.c.d/n" or "::1/128" CIDR notation. Throws if invalid.

Parameters​

ParameterType
cidrstring

Returns​

CIDRBlock