diff options
Diffstat (limited to 'vanilla/node_modules/tldts/dist/cjs/src/suffix-trie.js')
| -rw-r--r-- | vanilla/node_modules/tldts/dist/cjs/src/suffix-trie.js | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/vanilla/node_modules/tldts/dist/cjs/src/suffix-trie.js b/vanilla/node_modules/tldts/dist/cjs/src/suffix-trie.js deleted file mode 100644 index 0775dad..0000000 --- a/vanilla/node_modules/tldts/dist/cjs/src/suffix-trie.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = suffixLookup; -const tldts_core_1 = require("tldts-core"); -const trie_1 = require("./data/trie"); -/** - * Lookup parts of domain in Trie - */ -function lookupInTrie(parts, trie, index, allowedMask) { - let result = null; - let node = trie; - while (node !== undefined) { - // We have a match! - if ((node[0] & allowedMask) !== 0) { - result = { - index: index + 1, - isIcann: (node[0] & 1 /* RULE_TYPE.ICANN */) !== 0, - isPrivate: (node[0] & 2 /* RULE_TYPE.PRIVATE */) !== 0, - }; - } - // No more `parts` to look for - if (index === -1) { - break; - } - const succ = node[1]; - node = Object.prototype.hasOwnProperty.call(succ, parts[index]) - ? succ[parts[index]] - : succ['*']; - index -= 1; - } - return result; -} -/** - * Check if `hostname` has a valid public suffix in `trie`. - */ -function suffixLookup(hostname, options, out) { - var _a; - if ((0, tldts_core_1.fastPathLookup)(hostname, options, out)) { - return; - } - const hostnameParts = hostname.split('.'); - const allowedMask = (options.allowPrivateDomains ? 2 /* RULE_TYPE.PRIVATE */ : 0) | - (options.allowIcannDomains ? 1 /* RULE_TYPE.ICANN */ : 0); - // Look for exceptions - const exceptionMatch = lookupInTrie(hostnameParts, trie_1.exceptions, hostnameParts.length - 1, allowedMask); - if (exceptionMatch !== null) { - out.isIcann = exceptionMatch.isIcann; - out.isPrivate = exceptionMatch.isPrivate; - out.publicSuffix = hostnameParts.slice(exceptionMatch.index + 1).join('.'); - return; - } - // Look for a match in rules - const rulesMatch = lookupInTrie(hostnameParts, trie_1.rules, hostnameParts.length - 1, allowedMask); - if (rulesMatch !== null) { - out.isIcann = rulesMatch.isIcann; - out.isPrivate = rulesMatch.isPrivate; - out.publicSuffix = hostnameParts.slice(rulesMatch.index).join('.'); - return; - } - // No match found... - // Prevailing rule is '*' so we consider the top-level domain to be the - // public suffix of `hostname` (e.g.: 'example.org' => 'org'). - out.isIcann = false; - out.isPrivate = false; - out.publicSuffix = (_a = hostnameParts[hostnameParts.length - 1]) !== null && _a !== void 0 ? _a : null; -} -//# sourceMappingURL=suffix-trie.js.map
\ No newline at end of file |
