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 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
+ ```
@@ -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
  *
@@ -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":"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"}
1
+ {"version":3,"file":"ipv4-cidr.cjs","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4CidrError","Ipv4Address","InvalidIpv4CidrRangeError"],"mappings":"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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEG;MACU,QAAQ,CAAA;AACnB,IAAA,QAAQ;AACR,IAAA,MAAM;AAEN,IAAA,WAAA,CAAY,OAAwB,EAAA;QAClC,IAAI,CAACA,SAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AAC9B,YAAA,MAAM,IAAIC,+BAAoB,CAAC,OAAO,CAAC;QACzC;AACA,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,YAAA,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAIC,uBAAW,CAAC,EAAG,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAS,EAAE,EAAE,CAAC;QAC9C;AAAO,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAIA,uBAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;QAC1B;aAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAIA,uBAAW,CAAC,OAAO,CAAC,OAAO,CAAC;AAChD,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK;QAC7B;aAAO;AACL,YAAA,MAAM,IAAID,+BAAoB,CAAC,OAAO,CAAC;QACzC;IACF;AAEA;;;;;;;;;;;;AAYG;IACI,WAAW,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;;;;;;;;;;;AAYG;IACI,KAAK,GAAA;QACV,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;;;;;;;;;;;AAaG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,OAAO,IAAIC,uBAAW,CAAC,EAAE,CAAC;QAC5B;;QAEA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAIA,uBAAW,CAAC,IAAI,CAAC;IAC9B;AAEA;;;;;;;;;;;;AAYG;IACI,QAAQ,GAAA;AACb,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAA,CAAE;IACrD;AAEA;;;;;;;;;;;;;AAaG;IACI,UAAU,GAAA;QACf,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;IACrC;AAEA;;;;;;;;;;;;;AAaG;IACI,YAAY,GAAA;QACjB,OAAO,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC;AAEA;;;;;;;;;;;;;;;;;;AAkBG;IACI,CAAC,SAAS,CAAC,KAAc,EAAA;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAE1E,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,MAAM,IAAIA,uBAAW,CAAC,UAAU,GAAG,CAAC,CAAC;QACvC;IACF;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC7C,QAAA,MAAM,SAAS,GAAG,KAAK,YAAY,QAAQ,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;IACrF;AAEA;;;;;;;;;;;;AAYG;IACI,WAAW,GAAA;AAChB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,OAAO,cAAc,IAAIF,SAAI,CAAC,QAAQ;IACxC;AAEA;;;;;;;;;;;;AAYG;IACI,QAAQ,GAAA;AACb,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,IAAI,cAAc,GAAGA,SAAI,CAAC,QAAQ,EAAE;AAClC,YAAA,OAAO,SAAS;QAClB;QACA,OAAO,IAAI,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD;AAEA;;;;;;;;;;;;AAYG;IACI,eAAe,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;IACxD;AAEA;;;;;;;;;;;;;;;AAeG;IACI,YAAY,GAAA;AACjB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,IAAI,cAAc,GAAGA,SAAI,CAAC,QAAQ,EAAE;AAClC,YAAA,OAAO,SAAS;QAClB;QACA,OAAO,IAAI,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;AAeG;IACI,qBAAqB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;AACvD,QAAA,OAAO,IAAIE,uBAAW,CAAC,iBAAiB,CAAC;IAC3C;AAEA;;;;;;;;;;;;;;;AAeG;IACI,oBAAoB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;AAC5E,QAAA,OAAO,IAAIA,uBAAW,CAAC,gBAAgB,CAAC;IAC1C;AAEA;;;;;;;;;;;;;;AAcG;AACI,IAAA,QAAQ,CAAC,EAAe,EAAA;AAC7B,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;QACjC,OAAO,QAAQ,IAAI,UAAU,IAAI,QAAQ,GAAG,UAAU,GAAG,KAAK;IAChE;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,QAAQ,CAAC,KAAiC,EAAA;AAC/C,QAAA,MAAM,SAAS,GAAG,KAAK,YAAY,QAAQ,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACzC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC/C,QAAA,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3C,OAAO,QAAQ,GAAG,SAAS,GAAG,UAAU,IAAI,SAAS,GAAG,QAAQ,GAAG,SAAS;IAC9E;AAEA;;;;;;;;;;;;;;;;AAgBG;AACI,IAAA,MAAM,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAGF,SAAI,CAAC,SAAS,EAAE;AACvD,YAAA,MAAM,IAAIG,oCAAyB,CACjC,CAAA,UAAA,EAAa,QAAQ,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,QAAQH,SAAI,CAAC,SAAS,CAAA,CAAE,CAC3F;QACH;QAEA,MAAM,SAAS,GAAe,EAAE;AAChC,QAAA,MAAM,YAAY,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC3C,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;AAE/C,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU;AACpD,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D;AAEA,QAAA,OAAO,SAAS;IAClB;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,QAAQ,CAAC,MAAgB,EAAA;QAC9B,MAAM,SAAS,GAAe,EAAE;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1C,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AAEpD,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,GAAGA,SAAI,CAAC,SAAS,EAAE;AACjD,gBAAA,MAAM,IAAIG,oCAAyB,CACjC,CAAA,MAAA,EAAS,KAAK,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,QAAQH,SAAI,CAAC,SAAS,CAAA,CAAE,CACpF;YACH;YAEA,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;AAE5C,YAAA,IAAI,WAAW,GAAG,UAAU,GAAG,UAAU,EAAE;AACzC,gBAAA,MAAM,IAAIG,oCAAyB,CACjC,CAAA,UAAA,EAAa,KAAK,OAAO,IAAID,uBAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA,sCAAA,CAAwC,CACzG;YACH;AAEA,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YAClD,WAAW,IAAI,UAAU;QAC3B;AAEA,QAAA,OAAO,SAAS;IAClB;AACD;;;;"}
1
+ {"version":3,"file":"ipv6-cidr.cjs","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":["ipv6","InvalidIpv6CidrError","Ipv6Address","InvalidIpv6CidrRangeError"],"mappings":"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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;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;;;;;;;;;;;;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"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"ipv4-cidr.js","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;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;;;;;;;;;;;;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"}
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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEG;MACU,QAAQ,CAAA;AACnB,IAAA,QAAQ;AACR,IAAA,MAAM;AAEN,IAAA,WAAA,CAAY,OAAwB,EAAA;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AAC9B,YAAA,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC;QACzC;AACA,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,YAAA,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAG,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAS,EAAE,EAAE,CAAC;QAC9C;AAAO,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;QAC1B;aAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;AAChD,YAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK;QAC7B;aAAO;AACL,YAAA,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC;QACzC;IACF;AAEA;;;;;;;;;;;;AAYG;IACI,WAAW,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;;;;;;;;;;;AAYG;IACI,KAAK,GAAA;QACV,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;;;;;;;;;;;AAaG;IACI,OAAO,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC;QAC5B;;QAEA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;IAC9B;AAEA;;;;;;;;;;;;AAYG;IACI,QAAQ,GAAA;AACb,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAA,CAAE;IACrD;AAEA;;;;;;;;;;;;;AAaG;IACI,UAAU,GAAA;QACf,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;IACrC;AAEA;;;;;;;;;;;;;AAaG;IACI,YAAY,GAAA;QACjB,OAAO,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC;AAEA;;;;;;;;;;;;;;;;;;AAkBG;IACI,CAAC,SAAS,CAAC,KAAc,EAAA;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,QAAA,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAE1E,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,MAAM,IAAI,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;QACvC;IACF;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,MAAM,CAAC,KAAiC,EAAA;AAC7C,QAAA,MAAM,SAAS,GAAG,KAAK,YAAY,QAAQ,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;IACrF;AAEA;;;;;;;;;;;;AAYG;IACI,WAAW,GAAA;AAChB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,OAAO,cAAc,IAAI,IAAI,CAAC,QAAQ;IACxC;AAEA;;;;;;;;;;;;AAYG;IACI,QAAQ,GAAA;AACb,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE;AAClC,YAAA,OAAO,SAAS;QAClB;QACA,OAAO,IAAI,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD;AAEA;;;;;;;;;;;;AAYG;IACI,eAAe,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;IACxD;AAEA;;;;;;;;;;;;;;;AAeG;IACI,YAAY,GAAA;AACjB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;AACrE,QAAA,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE;AAClC,YAAA,OAAO,SAAS;QAClB;QACA,OAAO,IAAI,QAAQ,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;AAeG;IACI,qBAAqB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;AACvD,QAAA,OAAO,IAAI,WAAW,CAAC,iBAAiB,CAAC;IAC3C;AAEA;;;;;;;;;;;;;;;AAeG;IACI,oBAAoB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;AAC5E,QAAA,OAAO,IAAI,WAAW,CAAC,gBAAgB,CAAC;IAC1C;AAEA;;;;;;;;;;;;;;AAcG;AACI,IAAA,QAAQ,CAAC,EAAe,EAAA;AAC7B,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;QACjC,OAAO,QAAQ,IAAI,UAAU,IAAI,QAAQ,GAAG,UAAU,GAAG,KAAK;IAChE;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,QAAQ,CAAC,KAAiC,EAAA;AAC/C,QAAA,MAAM,SAAS,GAAG,KAAK,YAAY,QAAQ,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACzC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC/C,QAAA,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3C,OAAO,QAAQ,GAAG,SAAS,GAAG,UAAU,IAAI,SAAS,GAAG,QAAQ,GAAG,SAAS;IAC9E;AAEA;;;;;;;;;;;;;;;;AAgBG;AACI,IAAA,MAAM,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE;AACvD,YAAA,MAAM,IAAI,yBAAyB,CACjC,CAAA,UAAA,EAAa,QAAQ,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,SAAS,CAAA,CAAE,CAC3F;QACH;QAEA,MAAM,SAAS,GAAe,EAAE;AAChC,QAAA,MAAM,YAAY,GAAG,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC3C,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;AAE/C,QAAA,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU;AACpD,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D;AAEA,QAAA,OAAO,SAAS;IAClB;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,QAAQ,CAAC,MAAgB,EAAA;QAC9B,MAAM,SAAS,GAAe,EAAE;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1C,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AAEpD,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AACjD,gBAAA,MAAM,IAAI,yBAAyB,CACjC,CAAA,MAAA,EAAS,KAAK,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,SAAS,CAAA,CAAE,CACpF;YACH;YAEA,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;AAE5C,YAAA,IAAI,WAAW,GAAG,UAAU,GAAG,UAAU,EAAE;AACzC,gBAAA,MAAM,IAAI,yBAAyB,CACjC,CAAA,UAAA,EAAa,KAAK,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA,sCAAA,CAAwC,CACzG;YACH;AAEA,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YAClD,WAAW,IAAI,UAAU;QAC3B;AAEA,QAAA,OAAO,SAAS;IAClB;AACD;;;;"}
1
+ {"version":3,"file":"ipv6-cidr.js","sources":["../../../src/ipv6-cidr.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cidr-block",
3
3
  "description": "IPv4 and IPv6 address and cidr range utilities",
4
- "version": "2.1.1",
4
+ "version": "2.2.0",
5
5
  "license": "MIT",
6
6
  "author": "Brandon Burrus <brandon@burrus.io>",
7
7
  "homepage": "https://cidr-block.com",