cidr-block 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/cjs/index.d.cts +62 -0
- package/dist/cjs/ipv4-cidr.cjs +39 -0
- package/dist/cjs/ipv4-cidr.cjs.map +1 -1
- package/dist/cjs/ipv6-cidr.cjs +45 -0
- package/dist/cjs/ipv6-cidr.cjs.map +1 -1
- package/dist/esm/ipv4-cidr.d.ts +31 -0
- package/dist/esm/ipv4-cidr.d.ts.map +1 -1
- package/dist/esm/ipv4-cidr.js +39 -0
- package/dist/esm/ipv4-cidr.js.map +1 -1
- package/dist/esm/ipv6-cidr.d.ts +31 -0
- package/dist/esm/ipv6-cidr.d.ts.map +1 -1
- package/dist/esm/ipv6-cidr.js +45 -0
- package/dist/esm/ipv6-cidr.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,6 +186,11 @@ cidr.range(); // 24
|
|
|
186
186
|
cidr.netmask().toString(); // "255.255.255.0"
|
|
187
187
|
cidr.addressCount(); // 256
|
|
188
188
|
cidr.rangeParts(); // [Ipv4Address, 24]
|
|
189
|
+
|
|
190
|
+
// Calculate network address from CIDR with host bits
|
|
191
|
+
const hostCidr = ipv4.cidr('192.168.1.5/24');
|
|
192
|
+
hostCidr.network().toString(); // "192.168.1.0"
|
|
193
|
+
hostCidr.networkCIDR().toString(); // "192.168.1.0/24"
|
|
189
194
|
```
|
|
190
195
|
|
|
191
196
|
#### Usable Addresses
|
|
@@ -440,6 +445,11 @@ cidr.baseAddress().toString(); // "2001:db8::"
|
|
|
440
445
|
cidr.range(); // 32
|
|
441
446
|
cidr.netmask().toString(); // "ffff:ffff::"
|
|
442
447
|
cidr.addressCount(); // 79228162514264337593543950336n (BigInt)
|
|
448
|
+
|
|
449
|
+
// Calculate network address from CIDR with host bits
|
|
450
|
+
const hostCidr = ipv6.cidr('2001:db8::1234/32');
|
|
451
|
+
hostCidr.network().toString(); // "2001:db8::"
|
|
452
|
+
hostCidr.networkCIDR().toString(); // "2001:db8::/32"
|
|
443
453
|
```
|
|
444
454
|
|
|
445
455
|
#### Usable Addresses
|
|
@@ -693,3 +703,29 @@ function getUsableIPs(cidrStr: string): string[] {
|
|
|
693
703
|
const usable = getUsableIPs('192.168.1.0/29');
|
|
694
704
|
// ['192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4', '192.168.1.5', '192.168.1.6']
|
|
695
705
|
```
|
|
706
|
+
|
|
707
|
+
### Normalizing CIDR Blocks
|
|
708
|
+
|
|
709
|
+
```typescript
|
|
710
|
+
import { ipv4, ipv6 } from 'cidr-block';
|
|
711
|
+
|
|
712
|
+
// Normalize IPv4 CIDR by removing host bits
|
|
713
|
+
function normalizeIPv4CIDR(cidrStr: string): string {
|
|
714
|
+
const cidr = ipv4.cidr(cidrStr);
|
|
715
|
+
return cidr.networkCIDR().toString();
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
normalizeIPv4CIDR('192.168.1.5/24'); // "192.168.1.0/24"
|
|
719
|
+
normalizeIPv4CIDR('10.5.10.20/8'); // "10.0.0.0/8"
|
|
720
|
+
normalizeIPv4CIDR('172.16.50.100/12'); // "172.16.0.0/12"
|
|
721
|
+
|
|
722
|
+
// Normalize IPv6 CIDR by removing host bits
|
|
723
|
+
function normalizeIPv6CIDR(cidrStr: string): string {
|
|
724
|
+
const cidr = ipv6.cidr(cidrStr);
|
|
725
|
+
return cidr.networkCIDR().toString();
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
normalizeIPv6CIDR('2001:db8::1234/32'); // "2001:db8::/32"
|
|
729
|
+
normalizeIPv6CIDR('2001:db8:1:2:3:4:5:6/64'); // "2001:db8:1:2::/64"
|
|
730
|
+
normalizeIPv6CIDR('2001:db8:abcd:ef01::/48'); // "2001:db8:abcd::/48"
|
|
731
|
+
```
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -386,6 +386,7 @@ declare class Ipv4Address {
|
|
|
386
386
|
* cidr.baseAddress().toString(); // "192.168.0.0"
|
|
387
387
|
* cidr.range(); // 24
|
|
388
388
|
* cidr.netmask().toString(); // "255.255.255.0"
|
|
389
|
+
* cidr.network().toString(); // "192.168.0.0"
|
|
389
390
|
* cidr.addressCount(); // 256
|
|
390
391
|
* ```
|
|
391
392
|
*
|
|
@@ -490,6 +491,36 @@ declare class Ipv4Cidr {
|
|
|
490
491
|
* @returns The netmask as an Ipv4Address.
|
|
491
492
|
*/
|
|
492
493
|
netmask(): Ipv4Address;
|
|
494
|
+
/**
|
|
495
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* ```ts
|
|
499
|
+
* import { ipv4 } from 'cidr-block';
|
|
500
|
+
*
|
|
501
|
+
* ipv4.cidr("192.168.1.5/24").network().toString(); // "192.168.1.0"
|
|
502
|
+
* ipv4.cidr("10.5.10.20/8").network().toString(); // "10.0.0.0"
|
|
503
|
+
* ipv4.cidr("172.16.5.1/16").network().toString(); // "172.16.0.0"
|
|
504
|
+
* ```
|
|
505
|
+
*
|
|
506
|
+
* @returns The network address as an Ipv4Address.
|
|
507
|
+
*/
|
|
508
|
+
network(): Ipv4Address;
|
|
509
|
+
/**
|
|
510
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* ```ts
|
|
514
|
+
* import { ipv4 } from 'cidr-block';
|
|
515
|
+
*
|
|
516
|
+
* ipv4.cidr("192.168.1.5/24").networkCIDR().toString(); // "192.168.1.0/24"
|
|
517
|
+
* ipv4.cidr("10.5.10.20/8").networkCIDR().toString(); // "10.0.0.0/8"
|
|
518
|
+
* ipv4.cidr("172.16.5.1/16").networkCIDR().toString(); // "172.16.0.0/16"
|
|
519
|
+
* ```
|
|
520
|
+
*
|
|
521
|
+
* @returns The network CIDR as an Ipv4Cidr.
|
|
522
|
+
*/
|
|
523
|
+
networkCIDR(): Ipv4Cidr;
|
|
493
524
|
/**
|
|
494
525
|
* Returns the string representation of the IPv4 CIDR.
|
|
495
526
|
*
|
|
@@ -1394,6 +1425,7 @@ declare class Ipv6Address {
|
|
|
1394
1425
|
* cidr.baseAddress().toString(); // "2001:db8::"
|
|
1395
1426
|
* cidr.range(); // 32
|
|
1396
1427
|
* cidr.netmask().toString(); // "ffff:ffff::"
|
|
1428
|
+
* cidr.network().toString(); // "2001:db8::"
|
|
1397
1429
|
* cidr.addressCount(); // 79228162514264337593543950336n
|
|
1398
1430
|
* ```
|
|
1399
1431
|
*
|
|
@@ -1483,6 +1515,36 @@ declare class Ipv6Cidr {
|
|
|
1483
1515
|
* @returns The netmask as an Ipv6Address.
|
|
1484
1516
|
*/
|
|
1485
1517
|
netmask(): Ipv6Address;
|
|
1518
|
+
/**
|
|
1519
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
1520
|
+
*
|
|
1521
|
+
* @example
|
|
1522
|
+
* ```ts
|
|
1523
|
+
* import { ipv6 } from 'cidr-block';
|
|
1524
|
+
*
|
|
1525
|
+
* ipv6.cidr("2001:db8::1234/32").network().toString(); // "2001:db8::"
|
|
1526
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").network().toString(); // "2001:db8:1:2::"
|
|
1527
|
+
* ipv6.cidr("2001:db8:abcd::/48").network().toString(); // "2001:db8:abcd::"
|
|
1528
|
+
* ```
|
|
1529
|
+
*
|
|
1530
|
+
* @returns The network address as an Ipv6Address.
|
|
1531
|
+
*/
|
|
1532
|
+
network(): Ipv6Address;
|
|
1533
|
+
/**
|
|
1534
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
1535
|
+
*
|
|
1536
|
+
* @example
|
|
1537
|
+
* ```ts
|
|
1538
|
+
* import { ipv6 } from 'cidr-block';
|
|
1539
|
+
*
|
|
1540
|
+
* ipv6.cidr("2001:db8::1234/32").networkCIDR().toString(); // "2001:db8::/32"
|
|
1541
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").networkCIDR().toString(); // "2001:db8:1:2::/64"
|
|
1542
|
+
* ipv6.cidr("2001:db8:abcd::/48").networkCIDR().toString(); // "2001:db8:abcd::/48"
|
|
1543
|
+
* ```
|
|
1544
|
+
*
|
|
1545
|
+
* @returns The network CIDR as an Ipv6Cidr.
|
|
1546
|
+
*/
|
|
1547
|
+
networkCIDR(): Ipv6Cidr;
|
|
1486
1548
|
/**
|
|
1487
1549
|
* Returns the string representation of the IPv6 CIDR.
|
|
1488
1550
|
*
|
package/dist/cjs/ipv4-cidr.cjs
CHANGED
|
@@ -28,6 +28,7 @@ var ipv4Errors = require('./ipv4-errors.cjs');
|
|
|
28
28
|
* cidr.baseAddress().toString(); // "192.168.0.0"
|
|
29
29
|
* cidr.range(); // 24
|
|
30
30
|
* cidr.netmask().toString(); // "255.255.255.0"
|
|
31
|
+
* cidr.network().toString(); // "192.168.0.0"
|
|
31
32
|
* cidr.addressCount(); // 256
|
|
32
33
|
* ```
|
|
33
34
|
*
|
|
@@ -160,6 +161,44 @@ class Ipv4Cidr {
|
|
|
160
161
|
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
161
162
|
return new ipv4Address.Ipv4Address(maskNumber);
|
|
162
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```ts
|
|
169
|
+
* import { ipv4 } from 'cidr-block';
|
|
170
|
+
*
|
|
171
|
+
* ipv4.cidr("192.168.1.5/24").network().toString(); // "192.168.1.0"
|
|
172
|
+
* ipv4.cidr("10.5.10.20/8").network().toString(); // "10.0.0.0"
|
|
173
|
+
* ipv4.cidr("172.16.5.1/16").network().toString(); // "172.16.0.0"
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* @returns The network address as an Ipv4Address.
|
|
177
|
+
*/
|
|
178
|
+
network() {
|
|
179
|
+
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
180
|
+
const networkNumber = (this.#address.toNumber() & maskNumber) >>> 0;
|
|
181
|
+
return new ipv4Address.Ipv4Address(networkNumber);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* import { ipv4 } from 'cidr-block';
|
|
189
|
+
*
|
|
190
|
+
* ipv4.cidr("192.168.1.5/24").networkCIDR().toString(); // "192.168.1.0/24"
|
|
191
|
+
* ipv4.cidr("10.5.10.20/8").networkCIDR().toString(); // "10.0.0.0/8"
|
|
192
|
+
* ipv4.cidr("172.16.5.1/16").networkCIDR().toString(); // "172.16.0.0/16"
|
|
193
|
+
* ```
|
|
194
|
+
*
|
|
195
|
+
* @returns The network CIDR as an Ipv4Cidr.
|
|
196
|
+
*/
|
|
197
|
+
networkCIDR() {
|
|
198
|
+
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
199
|
+
const networkNumber = (this.#address.toNumber() & maskNumber) >>> 0;
|
|
200
|
+
return new Ipv4Cidr([networkNumber, this.#range]);
|
|
201
|
+
}
|
|
163
202
|
/**
|
|
164
203
|
* Returns the string representation of the IPv4 CIDR.
|
|
165
204
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv4-cidr.cjs","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4CidrError","Ipv4Address","InvalidIpv4CidrRangeError"],"mappings":";;;;;;AAKA
|
|
1
|
+
{"version":3,"file":"ipv4-cidr.cjs","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4CidrError","Ipv4Address","InvalidIpv4CidrRangeError"],"mappings":"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"}
|
package/dist/cjs/ipv6-cidr.cjs
CHANGED
|
@@ -28,6 +28,7 @@ var ipv6Errors = require('./ipv6-errors.cjs');
|
|
|
28
28
|
* cidr.baseAddress().toString(); // "2001:db8::"
|
|
29
29
|
* cidr.range(); // 32
|
|
30
30
|
* cidr.netmask().toString(); // "ffff:ffff::"
|
|
31
|
+
* cidr.network().toString(); // "2001:db8::"
|
|
31
32
|
* cidr.addressCount(); // 79228162514264337593543950336n
|
|
32
33
|
* ```
|
|
33
34
|
*
|
|
@@ -149,6 +150,50 @@ class Ipv6Cidr {
|
|
|
149
150
|
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
150
151
|
return new ipv6Address.Ipv6Address(mask);
|
|
151
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* import { ipv6 } from 'cidr-block';
|
|
159
|
+
*
|
|
160
|
+
* ipv6.cidr("2001:db8::1234/32").network().toString(); // "2001:db8::"
|
|
161
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").network().toString(); // "2001:db8:1:2::"
|
|
162
|
+
* ipv6.cidr("2001:db8:abcd::/48").network().toString(); // "2001:db8:abcd::"
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @returns The network address as an Ipv6Address.
|
|
166
|
+
*/
|
|
167
|
+
network() {
|
|
168
|
+
if (this.#range === 0) {
|
|
169
|
+
return new ipv6Address.Ipv6Address(0n);
|
|
170
|
+
}
|
|
171
|
+
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
172
|
+
const networkNumber = this.#address.toBigInt() & mask;
|
|
173
|
+
return new ipv6Address.Ipv6Address(networkNumber);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts
|
|
180
|
+
* import { ipv6 } from 'cidr-block';
|
|
181
|
+
*
|
|
182
|
+
* ipv6.cidr("2001:db8::1234/32").networkCIDR().toString(); // "2001:db8::/32"
|
|
183
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").networkCIDR().toString(); // "2001:db8:1:2::/64"
|
|
184
|
+
* ipv6.cidr("2001:db8:abcd::/48").networkCIDR().toString(); // "2001:db8:abcd::/48"
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* @returns The network CIDR as an Ipv6Cidr.
|
|
188
|
+
*/
|
|
189
|
+
networkCIDR() {
|
|
190
|
+
if (this.#range === 0) {
|
|
191
|
+
return new Ipv6Cidr([0n, 0]);
|
|
192
|
+
}
|
|
193
|
+
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
194
|
+
const networkNumber = this.#address.toBigInt() & mask;
|
|
195
|
+
return new Ipv6Cidr([networkNumber, this.#range]);
|
|
196
|
+
}
|
|
152
197
|
/**
|
|
153
198
|
* Returns the string representation of the IPv6 CIDR.
|
|
154
199
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv6-cidr.cjs","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":["ipv6","InvalidIpv6CidrError","Ipv6Address","InvalidIpv6CidrRangeError"],"mappings":";;;;;;AAKA
|
|
1
|
+
{"version":3,"file":"ipv6-cidr.cjs","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":["ipv6","InvalidIpv6CidrError","Ipv6Address","InvalidIpv6CidrRangeError"],"mappings":"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"}
|
package/dist/esm/ipv4-cidr.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type { Ipv4CidrLiteral, Ipv4CidrString } from './ipv4-types';
|
|
|
24
24
|
* cidr.baseAddress().toString(); // "192.168.0.0"
|
|
25
25
|
* cidr.range(); // 24
|
|
26
26
|
* cidr.netmask().toString(); // "255.255.255.0"
|
|
27
|
+
* cidr.network().toString(); // "192.168.0.0"
|
|
27
28
|
* cidr.addressCount(); // 256
|
|
28
29
|
* ```
|
|
29
30
|
*
|
|
@@ -128,6 +129,36 @@ export declare class Ipv4Cidr {
|
|
|
128
129
|
* @returns The netmask as an Ipv4Address.
|
|
129
130
|
*/
|
|
130
131
|
netmask(): Ipv4Address;
|
|
132
|
+
/**
|
|
133
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* import { ipv4 } from 'cidr-block';
|
|
138
|
+
*
|
|
139
|
+
* ipv4.cidr("192.168.1.5/24").network().toString(); // "192.168.1.0"
|
|
140
|
+
* ipv4.cidr("10.5.10.20/8").network().toString(); // "10.0.0.0"
|
|
141
|
+
* ipv4.cidr("172.16.5.1/16").network().toString(); // "172.16.0.0"
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @returns The network address as an Ipv4Address.
|
|
145
|
+
*/
|
|
146
|
+
network(): Ipv4Address;
|
|
147
|
+
/**
|
|
148
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* import { ipv4 } from 'cidr-block';
|
|
153
|
+
*
|
|
154
|
+
* ipv4.cidr("192.168.1.5/24").networkCIDR().toString(); // "192.168.1.0/24"
|
|
155
|
+
* ipv4.cidr("10.5.10.20/8").networkCIDR().toString(); // "10.0.0.0/8"
|
|
156
|
+
* ipv4.cidr("172.16.5.1/16").networkCIDR().toString(); // "172.16.0.0/16"
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @returns The network CIDR as an Ipv4Cidr.
|
|
160
|
+
*/
|
|
161
|
+
networkCIDR(): Ipv4Cidr;
|
|
131
162
|
/**
|
|
132
163
|
* Returns the string representation of the IPv4 CIDR.
|
|
133
164
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv4-cidr.d.ts","sourceRoot":"","sources":["../../src/ipv4-cidr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAEnE
|
|
1
|
+
{"version":3,"file":"ipv4-cidr.d.ts","sourceRoot":"","sources":["../../src/ipv4-cidr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,qBAAa,QAAQ;;gBAIP,OAAO,EAAE,eAAe;IAmBpC;;;;;;;;;;;;OAYG;IACI,WAAW,IAAI,WAAW;IAIjC;;;;;;;;;;;;OAYG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;;;;;;;;;OAaG;IACI,OAAO,IAAI,WAAW;IAK7B;;;;;;;;;;;;;OAaG;IACI,OAAO,IAAI,WAAW;IAM7B;;;;;;;;;;;;;OAaG;IACI,WAAW,IAAI,QAAQ;IAM9B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,cAAc;IAIjC;;;;;;;;;;;;;OAaG;IACI,UAAU,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAI1C;;;;;;;;;;;;;OAaG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;;;;;;;;;;;OAeG;IACK,SAAS,IAAI,SAAS,CAAC,WAAW,CAAC;IAQ3C;;;;;;;;;;;;;;;OAeG;IACI,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO;IAKzD;;;;;;;;;;;;OAYG;IACI,WAAW,IAAI,OAAO;IAK7B;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,IAAI,QAAQ,GAAG,SAAS;IAQvC;;;;;;;;;;;;OAYG;IACI,eAAe,IAAI,OAAO;IAIjC;;;;;;;;;;;;;;;OAeG;IACI,YAAY,IAAI,QAAQ,GAAG,SAAS;IAQ3C;;;;;;;;;;;;;;;OAeG;IACI,qBAAqB,IAAI,WAAW,GAAG,SAAS;IAQvD;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,IAAI,WAAW,GAAG,SAAS;IAQtD;;;;;;;;;;;;;;OAcG;IACI,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO;IAOzC;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO;IAS3D;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAoB3C;;;;;;;;;;;;;;;;;OAiBG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;CA0B9C"}
|
package/dist/esm/ipv4-cidr.js
CHANGED
|
@@ -26,6 +26,7 @@ import { InvalidIpv4CidrError, InvalidIpv4CidrRangeError } from './ipv4-errors.j
|
|
|
26
26
|
* cidr.baseAddress().toString(); // "192.168.0.0"
|
|
27
27
|
* cidr.range(); // 24
|
|
28
28
|
* cidr.netmask().toString(); // "255.255.255.0"
|
|
29
|
+
* cidr.network().toString(); // "192.168.0.0"
|
|
29
30
|
* cidr.addressCount(); // 256
|
|
30
31
|
* ```
|
|
31
32
|
*
|
|
@@ -158,6 +159,44 @@ class Ipv4Cidr {
|
|
|
158
159
|
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
159
160
|
return new Ipv4Address(maskNumber);
|
|
160
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```ts
|
|
167
|
+
* import { ipv4 } from 'cidr-block';
|
|
168
|
+
*
|
|
169
|
+
* ipv4.cidr("192.168.1.5/24").network().toString(); // "192.168.1.0"
|
|
170
|
+
* ipv4.cidr("10.5.10.20/8").network().toString(); // "10.0.0.0"
|
|
171
|
+
* ipv4.cidr("172.16.5.1/16").network().toString(); // "172.16.0.0"
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* @returns The network address as an Ipv4Address.
|
|
175
|
+
*/
|
|
176
|
+
network() {
|
|
177
|
+
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
178
|
+
const networkNumber = (this.#address.toNumber() & maskNumber) >>> 0;
|
|
179
|
+
return new Ipv4Address(networkNumber);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts
|
|
186
|
+
* import { ipv4 } from 'cidr-block';
|
|
187
|
+
*
|
|
188
|
+
* ipv4.cidr("192.168.1.5/24").networkCIDR().toString(); // "192.168.1.0/24"
|
|
189
|
+
* ipv4.cidr("10.5.10.20/8").networkCIDR().toString(); // "10.0.0.0/8"
|
|
190
|
+
* ipv4.cidr("172.16.5.1/16").networkCIDR().toString(); // "172.16.0.0/16"
|
|
191
|
+
* ```
|
|
192
|
+
*
|
|
193
|
+
* @returns The network CIDR as an Ipv4Cidr.
|
|
194
|
+
*/
|
|
195
|
+
networkCIDR() {
|
|
196
|
+
const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
|
|
197
|
+
const networkNumber = (this.#address.toNumber() & maskNumber) >>> 0;
|
|
198
|
+
return new Ipv4Cidr([networkNumber, this.#range]);
|
|
199
|
+
}
|
|
161
200
|
/**
|
|
162
201
|
* Returns the string representation of the IPv4 CIDR.
|
|
163
202
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv4-cidr.js","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA
|
|
1
|
+
{"version":3,"file":"ipv4-cidr.js","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/ipv6-cidr.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type { Ipv6CidrLiteral } from './ipv6-types';
|
|
|
24
24
|
* cidr.baseAddress().toString(); // "2001:db8::"
|
|
25
25
|
* cidr.range(); // 32
|
|
26
26
|
* cidr.netmask().toString(); // "ffff:ffff::"
|
|
27
|
+
* cidr.network().toString(); // "2001:db8::"
|
|
27
28
|
* cidr.addressCount(); // 79228162514264337593543950336n
|
|
28
29
|
* ```
|
|
29
30
|
*
|
|
@@ -113,6 +114,36 @@ export declare class Ipv6Cidr {
|
|
|
113
114
|
* @returns The netmask as an Ipv6Address.
|
|
114
115
|
*/
|
|
115
116
|
netmask(): Ipv6Address;
|
|
117
|
+
/**
|
|
118
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* import { ipv6 } from 'cidr-block';
|
|
123
|
+
*
|
|
124
|
+
* ipv6.cidr("2001:db8::1234/32").network().toString(); // "2001:db8::"
|
|
125
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").network().toString(); // "2001:db8:1:2::"
|
|
126
|
+
* ipv6.cidr("2001:db8:abcd::/48").network().toString(); // "2001:db8:abcd::"
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @returns The network address as an Ipv6Address.
|
|
130
|
+
*/
|
|
131
|
+
network(): Ipv6Address;
|
|
132
|
+
/**
|
|
133
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* import { ipv6 } from 'cidr-block';
|
|
138
|
+
*
|
|
139
|
+
* ipv6.cidr("2001:db8::1234/32").networkCIDR().toString(); // "2001:db8::/32"
|
|
140
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").networkCIDR().toString(); // "2001:db8:1:2::/64"
|
|
141
|
+
* ipv6.cidr("2001:db8:abcd::/48").networkCIDR().toString(); // "2001:db8:abcd::/48"
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @returns The network CIDR as an Ipv6Cidr.
|
|
145
|
+
*/
|
|
146
|
+
networkCIDR(): Ipv6Cidr;
|
|
116
147
|
/**
|
|
117
148
|
* Returns the string representation of the IPv6 CIDR.
|
|
118
149
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv6-cidr.d.ts","sourceRoot":"","sources":["../../src/ipv6-cidr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD
|
|
1
|
+
{"version":3,"file":"ipv6-cidr.d.ts","sourceRoot":"","sources":["../../src/ipv6-cidr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,QAAQ;;gBAIP,OAAO,EAAE,eAAe;IAmBpC;;;;;;;;;;;;OAYG;IACI,WAAW,IAAI,WAAW;IAIjC;;;;;;;;;;;;OAYG;IACI,KAAK,IAAI,MAAM;IAItB;;;;;;;;;;;;;OAaG;IACI,OAAO,IAAI,WAAW;IAS7B;;;;;;;;;;;;;OAaG;IACI,OAAO,IAAI,WAAW;IAS7B;;;;;;;;;;;;;OAaG;IACI,WAAW,IAAI,QAAQ;IAS9B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;;;;;;;;;OAaG;IACI,UAAU,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAI1C;;;;;;;;;;;;;OAaG;IACI,YAAY,IAAI,MAAM;IAI7B;;;;;;;;;;;;;;;;;;OAkBG;IACK,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;IAUzD;;;;;;;;;;;;;;;OAeG;IACI,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO;IAKzD;;;;;;;;;;;;OAYG;IACI,WAAW,IAAI,OAAO;IAK7B;;;;;;;;;;;;OAYG;IACI,QAAQ,IAAI,QAAQ,GAAG,SAAS;IAQvC;;;;;;;;;;;;OAYG;IACI,eAAe,IAAI,OAAO;IAIjC;;;;;;;;;;;;;;;OAeG;IACI,YAAY,IAAI,QAAQ,GAAG,SAAS;IAQ3C;;;;;;;;;;;;;;;OAeG;IACI,qBAAqB,IAAI,WAAW,GAAG,SAAS;IAQvD;;;;;;;;;;;;;;;OAeG;IACI,oBAAoB,IAAI,WAAW,GAAG,SAAS;IAQtD;;;;;;;;;;;;;;OAcG;IACI,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO;IAOzC;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO;IAS3D;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAoB3C;;;;;;;;;;;;;;;;;OAiBG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;CA0B9C"}
|
package/dist/esm/ipv6-cidr.js
CHANGED
|
@@ -26,6 +26,7 @@ import { InvalidIpv6CidrError, InvalidIpv6CidrRangeError } from './ipv6-errors.j
|
|
|
26
26
|
* cidr.baseAddress().toString(); // "2001:db8::"
|
|
27
27
|
* cidr.range(); // 32
|
|
28
28
|
* cidr.netmask().toString(); // "ffff:ffff::"
|
|
29
|
+
* cidr.network().toString(); // "2001:db8::"
|
|
29
30
|
* cidr.addressCount(); // 79228162514264337593543950336n
|
|
30
31
|
* ```
|
|
31
32
|
*
|
|
@@ -147,6 +148,50 @@ class Ipv6Cidr {
|
|
|
147
148
|
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
148
149
|
return new Ipv6Address(mask);
|
|
149
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Calculates the network address by applying the netmask to the base address.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* import { ipv6 } from 'cidr-block';
|
|
157
|
+
*
|
|
158
|
+
* ipv6.cidr("2001:db8::1234/32").network().toString(); // "2001:db8::"
|
|
159
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").network().toString(); // "2001:db8:1:2::"
|
|
160
|
+
* ipv6.cidr("2001:db8:abcd::/48").network().toString(); // "2001:db8:abcd::"
|
|
161
|
+
* ```
|
|
162
|
+
*
|
|
163
|
+
* @returns The network address as an Ipv6Address.
|
|
164
|
+
*/
|
|
165
|
+
network() {
|
|
166
|
+
if (this.#range === 0) {
|
|
167
|
+
return new Ipv6Address(0n);
|
|
168
|
+
}
|
|
169
|
+
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
170
|
+
const networkNumber = this.#address.toBigInt() & mask;
|
|
171
|
+
return new Ipv6Address(networkNumber);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Calculates the network CIDR by applying the netmask to the base address and returning a CIDR with the network address.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* import { ipv6 } from 'cidr-block';
|
|
179
|
+
*
|
|
180
|
+
* ipv6.cidr("2001:db8::1234/32").networkCIDR().toString(); // "2001:db8::/32"
|
|
181
|
+
* ipv6.cidr("2001:db8:1:2:3:4:5:6/64").networkCIDR().toString(); // "2001:db8:1:2::/64"
|
|
182
|
+
* ipv6.cidr("2001:db8:abcd::/48").networkCIDR().toString(); // "2001:db8:abcd::/48"
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* @returns The network CIDR as an Ipv6Cidr.
|
|
186
|
+
*/
|
|
187
|
+
networkCIDR() {
|
|
188
|
+
if (this.#range === 0) {
|
|
189
|
+
return new Ipv6Cidr([0n, 0]);
|
|
190
|
+
}
|
|
191
|
+
const mask = (1n << 128n) - (1n << BigInt(128 - this.#range));
|
|
192
|
+
const networkNumber = this.#address.toBigInt() & mask;
|
|
193
|
+
return new Ipv6Cidr([networkNumber, this.#range]);
|
|
194
|
+
}
|
|
150
195
|
/**
|
|
151
196
|
* Returns the string representation of the IPv6 CIDR.
|
|
152
197
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipv6-cidr.js","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA
|
|
1
|
+
{"version":3,"file":"ipv6-cidr.js","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED