Surge_by_SukkaW/Dist/chunks/normalize-domain.Cfz4j8eP.cjs
SukkaW d354c5e988
Some checks are pending
Build / Build (push) Waiting to run
Build / Diff output (push) Blocked by required conditions
Build / Deploy to Cloudflare Pages (push) Blocked by required conditions
Build / Deploy to GitHub and GitLab (push) Blocked by required conditions
Chore: maintainance
2025-02-07 17:52:36 +08:00

79 lines
3.2 KiB
JavaScript

'use strict';const require$$0=require('tldts'),looseTldtsOpt=require('./loose-tldts-opt.DLUpGXpj.cjs'),require$$2=require('foxts/is-probably-ip');var normalizeDomain = {};var hasRequiredNormalizeDomain;
function requireNormalizeDomain () {
if (hasRequiredNormalizeDomain) return normalizeDomain;
hasRequiredNormalizeDomain = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
fastNormalizeDomain: function() {
return fastNormalizeDomain;
},
fastNormalizeDomainWithoutWww: function() {
return fastNormalizeDomainWithoutWww;
},
normalizeDomain: function() {
return normalizeDomain;
}
});
const _tldts = /*#__PURE__*/ _interop_require_default(require$$0);
const _loosetldtsopt = /*@__PURE__*/ looseTldtsOpt.r();
const _isprobablyip = require$$2;
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function fastNormalizeDomainWithoutWww(domain, parsed = null) {
// We don't want tldts to call its own "extractHostname" on ip, bail out ip first.
// Now ip has been bailed out, we can safely set normalizeTldtsOpt.detectIp to false.
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
return null;
}
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
// Private invalid domain (things like .tor, .dn42, etc)
if (!parsed.isIcann && !parsed.isPrivate) return null;
if (parsed.subdomain) {
if (parsed.subdomain === 'www') {
return parsed.domain;
}
if (parsed.subdomain.startsWith('www.')) {
return parsed.subdomain.slice(4) + '.' + parsed.domain;
}
}
return parsed.hostname;
}
function fastNormalizeDomain(domain, parsed = null) {
// We don't want tldts to call its own "extractHostname" on ip, bail out ip first.
// Now ip has been bailed out, we can safely set normalizeTldtsOpt.detectIp to false.
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
return null;
}
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
// Private invalid domain (things like .tor, .dn42, etc)
if (!parsed.isIcann && !parsed.isPrivate) return null;
return parsed.hostname;
}
function normalizeDomain(domain, parsed = null) {
if (domain.length === 0) return null;
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
return null;
}
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
// Private invalid domain (things like .tor, .dn42, etc)
if (!parsed.isIcann && !parsed.isPrivate) return null;
// const h = parsed.hostname;
// if (h === null) return null;
return parsed.hostname;
}
} (normalizeDomain));
return normalizeDomain;
}exports.r=requireNormalizeDomain;