cidr-block 2.1.0 → 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
  *
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6_js = require('/Users/brandon/cidr-block/node_modules/tslib/tslib.es6.js');
4
3
  var ipv4 = require('./ipv4.cjs');
5
4
  var ipv4Errors = require('./ipv4-errors.cjs');
6
5
 
7
- var _Ipv4Address_octets;
8
6
  /**
9
7
  * Represents an IPv4 address with utility methods for manipulation and comparison.
10
8
  *
@@ -62,12 +60,12 @@ var _Ipv4Address_octets;
62
60
  * ```
63
61
  */
64
62
  class Ipv4Address {
63
+ #octets;
65
64
  constructor(ip) {
66
- _Ipv4Address_octets.set(this, void 0);
67
65
  if (!ipv4.ipv4.isValidAddress(ip)) {
68
66
  throw new ipv4Errors.InvalidIpv4AddressError(ip);
69
67
  }
70
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Address_octets, ipv4.ipv4.parseOctets(ip), "f");
68
+ this.#octets = ipv4.ipv4.parseOctets(ip);
71
69
  }
72
70
  /**
73
71
  * Gets the octets of the IPv4 address.
@@ -83,7 +81,7 @@ class Ipv4Address {
83
81
  * @returns An array of four numbers representing the octets of the IPv4 address.
84
82
  */
85
83
  octets() {
86
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f");
84
+ return this.#octets;
87
85
  }
88
86
  /**
89
87
  * Returns the string representation of the IPv4 address.
@@ -99,7 +97,7 @@ class Ipv4Address {
99
97
  * @returns The IPv4 address as a string in dotted-decimal notation (example: "192.187.0.1").
100
98
  */
101
99
  toString() {
102
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f").join('.');
100
+ return this.#octets.join('.');
103
101
  }
104
102
  /**
105
103
  * Returns the binary string representation of the IPv4 address.
@@ -115,7 +113,7 @@ class Ipv4Address {
115
113
  * @returns The IPv4 address as a binary string in dotted-decimal notation (example: "11000000.10111011.00000000.00000001").
116
114
  */
117
115
  toBinaryString() {
118
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f").map(octet => octet.toString(2).padStart(8, '0')).join('.');
116
+ return this.#octets.map(octet => octet.toString(2).padStart(8, '0')).join('.');
119
117
  }
120
118
  /**
121
119
  * Converts the IPv4 address to its numeric representation.
@@ -131,7 +129,7 @@ class Ipv4Address {
131
129
  * @returns The IPv4 address as a number.
132
130
  */
133
131
  toNumber() {
134
- return (((tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[0] << 24) | (tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[1] << 16) | (tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[2] << 8) | tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[3]) >>> 0);
132
+ return (((this.#octets[0] << 24) | (this.#octets[1] << 16) | (this.#octets[2] << 8) | this.#octets[3]) >>> 0);
135
133
  }
136
134
  /**
137
135
  * Checks if there is a next sequential IPv4 address.
@@ -338,7 +336,7 @@ class Ipv4Address {
338
336
  * @returns true if the IPv4 address is a loopback address (example: 127.0.0.1 is true)
339
337
  */
340
338
  isLoopbackAddress() {
341
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[0] === 127;
339
+ return this.#octets[0] === 127;
342
340
  }
343
341
  /**
344
342
  * Checks if the IPv4 address is a private address.
@@ -361,7 +359,7 @@ class Ipv4Address {
361
359
  * @returns true if the IPv4 address is in any of the private address ranges.
362
360
  */
363
361
  isPrivateAddress() {
364
- const [o1, o2] = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f");
362
+ const [o1, o2] = this.#octets;
365
363
  return o1 === 10 || (o1 === 172 && o2 >= 16 && o2 <= 31) || (o1 === 192 && o2 === 168);
366
364
  }
367
365
  /**
@@ -379,7 +377,7 @@ class Ipv4Address {
379
377
  * @returns true if the IPv4 address is a local-link address.
380
378
  */
381
379
  isLocalLinkAddress() {
382
- const [o1, o2] = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f");
380
+ const [o1, o2] = this.#octets;
383
381
  return o1 === 169 && o2 === 254;
384
382
  }
385
383
  /**
@@ -397,11 +395,10 @@ class Ipv4Address {
397
395
  * @returns true if the IPv4 address is a multicast address.
398
396
  */
399
397
  isMulticastAddress() {
400
- const firstOctet = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Address_octets, "f")[0];
398
+ const firstOctet = this.#octets[0];
401
399
  return firstOctet >= 224 && firstOctet <= 239;
402
400
  }
403
401
  }
404
- _Ipv4Address_octets = new WeakMap();
405
402
 
406
403
  exports.Ipv4Address = Ipv4Address;
407
404
  //# sourceMappingURL=ipv4-address.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipv4-address.cjs","sources":["../../../src/ipv4-address.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4AddressError","__classPrivateFieldSet","__classPrivateFieldGet"],"mappings":"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"}
1
+ {"version":3,"file":"ipv4-address.cjs","sources":["../../../src/ipv4-address.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4AddressError"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6_js = require('/Users/brandon/cidr-block/node_modules/tslib/tslib.es6.js');
4
3
  var ipv4 = require('./ipv4.cjs');
5
4
  var ipv4Address = require('./ipv4-address.cjs');
6
5
  var ipv4Errors = require('./ipv4-errors.cjs');
7
6
 
8
- var _Ipv4Cidr_address, _Ipv4Cidr_range;
9
7
  /**
10
8
  * Represents an IPv4 CIDR block with utility methods for subnet operations.
11
9
  *
@@ -30,6 +28,7 @@ var _Ipv4Cidr_address, _Ipv4Cidr_range;
30
28
  * cidr.baseAddress().toString(); // "192.168.0.0"
31
29
  * cidr.range(); // 24
32
30
  * cidr.netmask().toString(); // "255.255.255.0"
31
+ * cidr.network().toString(); // "192.168.0.0"
33
32
  * cidr.addressCount(); // 256
34
33
  * ```
35
34
  *
@@ -89,24 +88,24 @@ var _Ipv4Cidr_address, _Ipv4Cidr_range;
89
88
  * ```
90
89
  */
91
90
  class Ipv4Cidr {
91
+ #address;
92
+ #range;
92
93
  constructor(address) {
93
- _Ipv4Cidr_address.set(this, void 0);
94
- _Ipv4Cidr_range.set(this, void 0);
95
94
  if (!ipv4.ipv4.isValidCIDR(address)) {
96
95
  throw new ipv4Errors.InvalidIpv4CidrError(address);
97
96
  }
98
97
  if (typeof address === 'string') {
99
98
  const [ip, rangeStr] = address.split('/');
100
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_address, new ipv4Address.Ipv4Address(ip), "f");
101
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_range, parseInt(rangeStr, 10), "f");
99
+ this.#address = new ipv4Address.Ipv4Address(ip);
100
+ this.#range = parseInt(rangeStr, 10);
102
101
  }
103
102
  else if (Array.isArray(address)) {
104
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_address, new ipv4Address.Ipv4Address(address[0]), "f");
105
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_range, address[1], "f");
103
+ this.#address = new ipv4Address.Ipv4Address(address[0]);
104
+ this.#range = address[1];
106
105
  }
107
106
  else if (typeof address === 'object' && address !== null) {
108
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_address, new ipv4Address.Ipv4Address(address.address), "f");
109
- tslib_es6_js.__classPrivateFieldSet(this, _Ipv4Cidr_range, address.range, "f");
107
+ this.#address = new ipv4Address.Ipv4Address(address.address);
108
+ this.#range = address.range;
110
109
  }
111
110
  else {
112
111
  throw new ipv4Errors.InvalidIpv4CidrError(address);
@@ -126,7 +125,7 @@ class Ipv4Cidr {
126
125
  * @returns The base IPv4 address.
127
126
  */
128
127
  baseAddress() {
129
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f");
128
+ return this.#address;
130
129
  }
131
130
  /**
132
131
  * Gets the CIDR range.
@@ -142,7 +141,7 @@ class Ipv4Cidr {
142
141
  * @returns The CIDR range as a number.
143
142
  */
144
143
  range() {
145
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f");
144
+ return this.#range;
146
145
  }
147
146
  /**
148
147
  * Calculates the netmask for the CIDR range.
@@ -159,9 +158,47 @@ class Ipv4Cidr {
159
158
  * @returns The netmask as an Ipv4Address.
160
159
  */
161
160
  netmask() {
162
- const maskNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") === 0 ? 0 : (-1 << (32 - tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f"))) >>> 0;
161
+ const maskNumber = this.#range === 0 ? 0 : (-1 << (32 - this.#range)) >>> 0;
163
162
  return new ipv4Address.Ipv4Address(maskNumber);
164
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
+ }
165
202
  /**
166
203
  * Returns the string representation of the IPv4 CIDR.
167
204
  *
@@ -176,7 +213,7 @@ class Ipv4Cidr {
176
213
  * @returns The IPv4 CIDR as a string (example: "192.0.0.0/24").
177
214
  */
178
215
  toString() {
179
- return `${tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toString()}/${tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")}`;
216
+ return `${this.#address.toString()}/${this.#range}`;
180
217
  }
181
218
  /**
182
219
  * Gets the address and range parts of the IPv4 CIDR.
@@ -193,7 +230,7 @@ class Ipv4Cidr {
193
230
  * @returns A tuple containing the IPv4 address and the CIDR range.
194
231
  */
195
232
  rangeParts() {
196
- return [tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f"), tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")];
233
+ return [this.#address, this.#range];
197
234
  }
198
235
  /**
199
236
  * Calculates the total number of addresses in the CIDR range.
@@ -210,7 +247,7 @@ class Ipv4Cidr {
210
247
  * @returns The total number of addresses in the CIDR range.
211
248
  */
212
249
  addressCount() {
213
- return 2 ** (32 - tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f"));
250
+ return 2 ** (32 - this.#range);
214
251
  }
215
252
  /**
216
253
  * Generates all IPv4 addresses within the CIDR range.
@@ -229,7 +266,7 @@ class Ipv4Cidr {
229
266
  * @returns A generator that yields each IPv4 address in the CIDR range.
230
267
  */
231
268
  *addresses() {
232
- const baseNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber();
269
+ const baseNumber = this.#address.toNumber();
233
270
  const count = this.addressCount();
234
271
  for (let i = 0; i < count; i++) {
235
272
  yield new ipv4Address.Ipv4Address(baseNumber + i);
@@ -253,7 +290,7 @@ class Ipv4Cidr {
253
290
  */
254
291
  equals(other) {
255
292
  const otherCidr = other instanceof Ipv4Cidr ? other : new Ipv4Cidr(other);
256
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").equals(tslib_es6_js.__classPrivateFieldGet(otherCidr, _Ipv4Cidr_address, "f")) && tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") === tslib_es6_js.__classPrivateFieldGet(otherCidr, _Ipv4Cidr_range, "f");
293
+ return this.#address.equals(otherCidr.#address) && this.#range === otherCidr.#range;
257
294
  }
258
295
  /**
259
296
  * Checks if there is a next sequential CIDR.
@@ -269,7 +306,7 @@ class Ipv4Cidr {
269
306
  * @returns true if there is a next CIDR.
270
307
  */
271
308
  hasNextCIDR() {
272
- const nextBaseAddressNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() + this.addressCount();
309
+ const nextBaseAddressNumber = this.#address.toNumber() + this.addressCount();
273
310
  return nextBaseAddressNumber <= ipv4.ipv4.MAX_SIZE;
274
311
  }
275
312
  /**
@@ -289,11 +326,11 @@ class Ipv4Cidr {
289
326
  * @returns The next CIDR, or undefined if there is no next CIDR.
290
327
  */
291
328
  nextCIDR() {
292
- const nextBaseAddressNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() + this.addressCount();
329
+ const nextBaseAddressNumber = this.#address.toNumber() + this.addressCount();
293
330
  if (nextBaseAddressNumber > ipv4.ipv4.MAX_SIZE) {
294
331
  return undefined;
295
332
  }
296
- return new Ipv4Cidr([nextBaseAddressNumber, tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")]);
333
+ return new Ipv4Cidr([nextBaseAddressNumber, this.#range]);
297
334
  }
298
335
  /**
299
336
  * Checks if there is a previous sequential CIDR.
@@ -309,7 +346,7 @@ class Ipv4Cidr {
309
346
  * @returns true if there is a previous CIDR.
310
347
  */
311
348
  hasPreviousCIDR() {
312
- return tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() >= this.addressCount();
349
+ return this.#address.toNumber() >= this.addressCount();
313
350
  }
314
351
  /**
315
352
  * Gets the previous sequential CIDR.
@@ -328,11 +365,11 @@ class Ipv4Cidr {
328
365
  * @returns The previous CIDR, or undefined if there is no previous CIDR.
329
366
  */
330
367
  previousCIDR() {
331
- const prevBaseAddressNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() - this.addressCount();
368
+ const prevBaseAddressNumber = this.#address.toNumber() - this.addressCount();
332
369
  if (prevBaseAddressNumber < ipv4.ipv4.MIN_SIZE) {
333
370
  return undefined;
334
371
  }
335
- return new Ipv4Cidr([prevBaseAddressNumber, tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")]);
372
+ return new Ipv4Cidr([prevBaseAddressNumber, this.#range]);
336
373
  }
337
374
  /**
338
375
  * Gets the first usable address in the CIDR range.
@@ -351,10 +388,10 @@ class Ipv4Cidr {
351
388
  * @returns The first usable IPv4 address, or undefined if the range is /32.
352
389
  */
353
390
  getFirstUsableAddress() {
354
- if (tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") === 32) {
391
+ if (this.#range === 32) {
355
392
  return undefined;
356
393
  }
357
- const firstUsableNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() + 1;
394
+ const firstUsableNumber = this.#address.toNumber() + 1;
358
395
  return new ipv4Address.Ipv4Address(firstUsableNumber);
359
396
  }
360
397
  /**
@@ -374,10 +411,10 @@ class Ipv4Cidr {
374
411
  * @returns The last usable IPv4 address, or undefined if the range is /32.
375
412
  */
376
413
  getLastUsableAddress() {
377
- if (tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") === 32) {
414
+ if (this.#range === 32) {
378
415
  return undefined;
379
416
  }
380
- const lastUsableNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber() + this.addressCount() - 2;
417
+ const lastUsableNumber = this.#address.toNumber() + this.addressCount() - 2;
381
418
  return new ipv4Address.Ipv4Address(lastUsableNumber);
382
419
  }
383
420
  /**
@@ -397,7 +434,7 @@ class Ipv4Cidr {
397
434
  */
398
435
  includes(ip) {
399
436
  const ipNumber = ip.toNumber();
400
- const baseNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber();
437
+ const baseNumber = this.#address.toNumber();
401
438
  const count = this.addressCount();
402
439
  return ipNumber >= baseNumber && ipNumber < baseNumber + count;
403
440
  }
@@ -419,9 +456,9 @@ class Ipv4Cidr {
419
456
  */
420
457
  overlaps(other) {
421
458
  const otherCidr = other instanceof Ipv4Cidr ? other : new Ipv4Cidr(other);
422
- const thisBase = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber();
459
+ const thisBase = this.#address.toNumber();
423
460
  const thisCount = this.addressCount();
424
- const otherBase = tslib_es6_js.__classPrivateFieldGet(otherCidr, _Ipv4Cidr_address, "f").toNumber();
461
+ const otherBase = otherCidr.#address.toNumber();
425
462
  const otherCount = otherCidr.addressCount();
426
463
  return thisBase < otherBase + otherCount && otherBase < thisBase + thisCount;
427
464
  }
@@ -443,12 +480,12 @@ class Ipv4Cidr {
443
480
  * @throws InvalidIpv4CidrRangeError if the new range is less than the current range or greater than the maximum range.
444
481
  */
445
482
  subnet(newRange) {
446
- if (newRange < tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") || newRange > ipv4.ipv4.MAX_RANGE) {
447
- throw new ipv4Errors.InvalidIpv4CidrRangeError(`New range ${newRange} must be between current range ${tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")} and ${ipv4.ipv4.MAX_RANGE}`);
483
+ if (newRange < this.#range || newRange > ipv4.ipv4.MAX_RANGE) {
484
+ throw new ipv4Errors.InvalidIpv4CidrRangeError(`New range ${newRange} must be between current range ${this.#range} and ${ipv4.ipv4.MAX_RANGE}`);
448
485
  }
449
486
  const subranges = [];
450
- const totalSubnets = 2 ** (newRange - tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f"));
451
- const baseNumber = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber();
487
+ const totalSubnets = 2 ** (newRange - this.#range);
488
+ const baseNumber = this.#address.toNumber();
452
489
  const subnetSize = 2 ** (32 - newRange);
453
490
  for (let i = 0; i < totalSubnets; i++) {
454
491
  const subnetBaseNumber = baseNumber + i * subnetSize;
@@ -476,11 +513,11 @@ class Ipv4Cidr {
476
513
  */
477
514
  subnetBy(ranges) {
478
515
  const subranges = [];
479
- let currentBase = tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_address, "f").toNumber();
516
+ let currentBase = this.#address.toNumber();
480
517
  const endAddress = currentBase + this.addressCount();
481
518
  for (const range of ranges) {
482
- if (range < tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f") || range > ipv4.ipv4.MAX_RANGE) {
483
- throw new ipv4Errors.InvalidIpv4CidrRangeError(`Range ${range} must be between current range ${tslib_es6_js.__classPrivateFieldGet(this, _Ipv4Cidr_range, "f")} and ${ipv4.ipv4.MAX_RANGE}`);
519
+ if (range < this.#range || range > ipv4.ipv4.MAX_RANGE) {
520
+ throw new ipv4Errors.InvalidIpv4CidrRangeError(`Range ${range} must be between current range ${this.#range} and ${ipv4.ipv4.MAX_RANGE}`);
484
521
  }
485
522
  const subnetSize = 2 ** (32 - range);
486
523
  if (currentBase + subnetSize > endAddress) {
@@ -492,7 +529,6 @@ class Ipv4Cidr {
492
529
  return subranges;
493
530
  }
494
531
  }
495
- _Ipv4Cidr_address = new WeakMap(), _Ipv4Cidr_range = new WeakMap();
496
532
 
497
533
  exports.Ipv4Cidr = Ipv4Cidr;
498
534
  //# sourceMappingURL=ipv4-cidr.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipv4-cidr.cjs","sources":["../../../src/ipv4-cidr.ts"],"sourcesContent":[null],"names":["ipv4","InvalidIpv4CidrError","__classPrivateFieldSet","Ipv4Address","__classPrivateFieldGet","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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"}
@@ -1,22 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  class InvalidIpv4AddressError extends Error {
4
+ name = 'InvalidIpv4AddressError';
4
5
  constructor(invalidAddress) {
5
6
  super(`${invalidAddress} is not a valid IPv4 address`);
6
- this.name = 'InvalidIpv4AddressError';
7
7
  }
8
8
  }
9
9
  class InvalidIpv4CidrError extends Error {
10
+ name = 'InvalidIpv4CidrError';
10
11
  constructor(invalidCidr) {
11
12
  super(`${invalidCidr} is not a valid IPv4 CIDR range`);
12
- this.name = 'InvalidIpv4CidrError';
13
13
  }
14
14
  }
15
15
  class InvalidIpv4CidrRangeError extends Error {
16
- constructor() {
17
- super(...arguments);
18
- this.name = 'InvalidIpv4RangeError';
19
- }
16
+ name = 'InvalidIpv4RangeError';
20
17
  }
21
18
 
22
19
  exports.InvalidIpv4AddressError = InvalidIpv4AddressError;
@@ -1 +1 @@
1
- {"version":3,"file":"ipv4-errors.cjs","sources":["../../../src/ipv4-errors.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,MAAO,uBAAwB,SAAQ,KAAK,CAAA;AAGhD,IAAA,WAAA,CAAY,cAAuB,EAAA;AACjC,QAAA,KAAK,CAAC,CAAA,EAAG,cAAc,CAAA,4BAAA,CAA8B,CAAC;QAH/C,IAAA,CAAA,IAAI,GAAG,yBAAyB;IAIzC;AACD;AAEK,MAAO,oBAAqB,SAAQ,KAAK,CAAA;AAG7C,IAAA,WAAA,CAAY,WAAoB,EAAA;AAC9B,QAAA,KAAK,CAAC,CAAA,EAAG,WAAW,CAAA,+BAAA,CAAiC,CAAC;QAH/C,IAAA,CAAA,IAAI,GAAG,sBAAsB;IAItC;AACD;AAEK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAApD,IAAA,WAAA,GAAA;;QACW,IAAA,CAAA,IAAI,GAAG,uBAAuB;IACzC;AAAC;;;;;;"}
1
+ {"version":3,"file":"ipv4-errors.cjs","sources":["../../../src/ipv4-errors.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,MAAO,uBAAwB,SAAQ,KAAK,CAAA;IACvC,IAAI,GAAG,yBAAyB;AAEzC,IAAA,WAAA,CAAY,cAAuB,EAAA;AACjC,QAAA,KAAK,CAAC,CAAA,EAAG,cAAc,CAAA,4BAAA,CAA8B,CAAC;IACxD;AACD;AAEK,MAAO,oBAAqB,SAAQ,KAAK,CAAA;IACpC,IAAI,GAAG,sBAAsB;AAEtC,IAAA,WAAA,CAAY,WAAoB,EAAA;AAC9B,QAAA,KAAK,CAAC,CAAA,EAAG,WAAW,CAAA,+BAAA,CAAiC,CAAC;IACxD;AACD;AAEK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;IACzC,IAAI,GAAG,uBAAuB;AACxC;;;;;;"}