Files
formipay/node_modules/netmask/dist/netmask.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

69 lines
2.5 KiB
JavaScript

"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;