FRE-709: Document duplicate recovery wake - FRE-635 already recovered via FRE-708
This commit is contained in:
68
node_modules/netmask/dist/netmask.js
generated
vendored
Normal file
68
node_modules/netmask/dist/netmask.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.long2ip = exports.ip2long = exports.Netmask = void 0;
|
||||
const netmask4_1 = require("./netmask4");
|
||||
Object.defineProperty(exports, "ip2long", { enumerable: true, get: function () { return netmask4_1.ip2long; } });
|
||||
Object.defineProperty(exports, "long2ip", { enumerable: true, get: function () { return netmask4_1.long2ip; } });
|
||||
const netmask6_1 = require("./netmask6");
|
||||
class Netmask {
|
||||
constructor(net, mask) {
|
||||
if (typeof net !== 'string') {
|
||||
throw new Error("Missing `net' parameter");
|
||||
}
|
||||
// Detect IPv6: check the address part (before any /) for ':'
|
||||
const addrPart = net.indexOf('/') !== -1 ? net.substring(0, net.indexOf('/')) : net;
|
||||
if (addrPart.indexOf(':') !== -1) {
|
||||
this._impl = new netmask6_1.Netmask6Impl(net, mask);
|
||||
}
|
||||
else {
|
||||
this._impl = new netmask4_1.Netmask4Impl(net, mask);
|
||||
}
|
||||
this.base = this._impl.base;
|
||||
this.mask = this._impl.mask;
|
||||
this.hostmask = this._impl.hostmask;
|
||||
this.bitmask = this._impl.bitmask;
|
||||
this.size = this._impl.size;
|
||||
this.first = this._impl.first;
|
||||
this.last = this._impl.last;
|
||||
this.broadcast = this._impl.broadcast;
|
||||
if (this._impl instanceof netmask4_1.Netmask4Impl) {
|
||||
this.maskLong = this._impl.maskLong;
|
||||
this.netLong = this._impl.netLong;
|
||||
}
|
||||
else {
|
||||
this.maskLong = 0;
|
||||
this.netLong = 0;
|
||||
}
|
||||
}
|
||||
contains(ip) {
|
||||
if (typeof ip === 'string') {
|
||||
// If it has a '/', it's a CIDR block — wrap it
|
||||
if (ip.indexOf('/') > 0) {
|
||||
ip = new Netmask(ip);
|
||||
}
|
||||
// IPv4 shorthand (fewer than 4 octets, no colons) — wrap it
|
||||
else if (ip.indexOf(':') === -1 && ip.split('.').length !== 4) {
|
||||
ip = new Netmask(ip);
|
||||
}
|
||||
}
|
||||
if (ip instanceof Netmask) {
|
||||
return this.contains(ip.base) && this.contains(ip.broadcast || ip.last);
|
||||
}
|
||||
// Plain IP string — delegate to impl
|
||||
return this._impl.contains(ip);
|
||||
}
|
||||
next(count = 1) {
|
||||
const nextImpl = this._impl.next(count);
|
||||
const result = new Netmask(nextImpl.base, nextImpl.bitmask);
|
||||
return result;
|
||||
}
|
||||
/** @deprecated */
|
||||
forEach(fn) {
|
||||
this._impl.forEach(fn);
|
||||
}
|
||||
toString() {
|
||||
return this._impl.toString();
|
||||
}
|
||||
}
|
||||
exports.Netmask = Netmask;
|
||||
Reference in New Issue
Block a user